首頁 >資料庫 >mysql教程 >如何正確使用PostgreSQL的jsonb和Float類型進行算術運算?

如何正確使用PostgreSQL的jsonb和Float類型進行算術運算?

Barbara Streisand
Barbara Streisand原創
2024-12-31 07:21:10590瀏覽

How to Correctly Perform Arithmetic Operations with PostgreSQL's jsonb and Float Types?

解決PostgreSQL 的jsonb 到Float 轉換問題

當嘗試執行涉及PostgreSQL 的jsonb 類型和float 的算術類型和float遇到錯誤,因為鍵入不相容。特別是,以下查詢:

SELECT (json_data->'position'->'lat') + 1.0 AS lat FROM updates LIMIT 5;

將傳回錯誤「運算子不存在:jsonb numeric。」即使使用::float 語法明確轉換也會導致錯誤「運算子不存在:jsonb 雙精確度。運算子語法來提取所需的值,如下所示文字而不是 JSON。 ->>傳回文字的運算子可以如下使用:

透過使用->>運算子將緯度值提取為文本,然後使用者可以將其轉換為浮點數並執行所需的算術運算,而不會有任何錯誤。該技術允許在 PostgreSQL 中高效處理 jsonb 資料類型。
SELECT (json_data->'position'->>'lat')::float + 1.0 AS lat
FROM updates
LIMIT 5

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn