首頁 > 資料庫 > mysql教程 > 如何正確將PostgreSQL的jsonb轉換為Float進行算術運算?

如何正確將PostgreSQL的jsonb轉換為Float進行算術運算?

Linda Hamilton
發布: 2024-12-30 17:51:11
原創
440 人瀏覽過

How Can I Correctly Convert PostgreSQL's jsonb to Float for Arithmetic Operations?

將 PostgreSQL 的 jsonb 類型轉換為 Float

本文解決了將 PostgreSQL 的 jsonb 類型轉換為 float 的挑戰。當嘗試對 jsonb 資料執行算術運算時會出現困難,預設會回傳錯誤。

初始查詢和錯誤

呈現初始查詢:

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

此查詢會觸發錯誤,因為該運算符無法應用於jsonb 和數字類型。新增明確轉換,如下所示,會產生另一個錯誤:

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

錯誤訊息現在表示該運算符不能在 jsonb 和雙精確度之間使用。

JSON 運算子

問題源自於以下事實: ->運算子傳回一個 JSON 對象,而 ->->輸出文字。為了將jsonb 值正確地轉換為浮動,->->

解決方案

這個問題的解決方案是替換->運算符->->:

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

此修改後的查詢現在可以正確地將jsonb數值轉換為浮點數並執行加法操作,不會發生錯誤。

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

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