首頁 > 資料庫 > mysql教程 > 如何將 PostgreSQL JSONB 轉換為浮點數以進行算術運算?

如何將 PostgreSQL JSONB 轉換為浮點數以進行算術運算?

Linda Hamilton
發布: 2025-01-02 21:18:38
原創
258 人瀏覽過

How to Cast PostgreSQL JSONB to Float for Arithmetic Operations?

將PostgreSQL 的JSONB 轉換為Float

嘗試對包含數值的PostgreSQL JSONB 類型列執行算術運算時,可能會遇到錯誤算術,因為鍵入不符合的內容。本文示範如何克服此問題並成功將 JSONB 值轉換為浮點數。

所提供查詢中錯誤的根本原因是嘗試將數值 (1.0) 加到 JSONB 值,這會導致出現「運算符不存在」錯誤。為了解決這個問題,您可以在執行操作之前使用強制轉換將 JSONB 值轉換為浮點型。

但是,僅將JSONB 值強制轉換為浮點型可能還不夠,因為PostgreSQL 提供了兩種存取JSON 值的選項:

  • json_data->'position':回傳一個JSON值,不能直接轉換為float.
  • json_data->>'position':傳回一個文字值,可以使用 ::float 將其轉換為浮點數。

在您的具體情況下,因為你知道緯度值都是JSON 數字,你可以使用以下查詢將它們轉換為浮點數:

SELECT (json_data->>'position'->>'lat')::float + 1.0 AS lat
FROM updates
LIMIT 5;
登入後複製

這個修改後的查詢應該會成功將JSONB lat 值轉換為浮點數,使您能夠執行所需的操作。

以上是如何將 PostgreSQL JSONB 轉換為浮點數以進行算術運算?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板