首頁 > 資料庫 > mysql教程 > 如何在 PostgreSQL 中正確將 JSONB 轉換為浮點型?

如何在 PostgreSQL 中正確將 JSONB 轉換為浮點型?

Susan Sarandon
發布: 2025-01-02 18:37:43
原創
201 人瀏覽過

How to Correctly Convert JSONB to Float in PostgreSQL?

PostgreSQL 9.4 中的JSONB 到浮點型轉換

PostgreSQL 使用者嘗試使用以下查詢將jsonb 列轉換為浮點型:

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

然而,他們遇到了錯誤:

ERROR:  operator does not exist: jsonb + numeric
登入後複製

為了解決此問題,使用者嘗試使用::float 運算子進行明確轉換,從而導致錯誤:

ERROR:  operator does not exist: jsonb + double precesion
登入後複製

要將jsonb 值轉換為浮點數,需要執行以下操作:遵循正確的運算子優先順序至關重要。 ->運算子傳回 JSON 值,而 ->> 則傳回 JSON 值。運算子傳回一個文字值。要成功轉換為浮動,您需要使用->>

正確的查詢語法是:

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

透過使用->>運算符,jsonb 值首先轉換為文本,然後可以使用::float 運算子將其轉換為浮點數。

以上是如何在 PostgreSQL 中正確將 JSONB 轉換為浮點型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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