將PostgreSQL 的JSONB 轉換為Float
嘗試對包含數值的PostgreSQL JSONB 類型列執行算術運算時,可能會遇到錯誤算術,因為鍵入不符合的內容。本文示範如何克服此問題並成功將 JSONB 值轉換為浮點數。
所提供查詢中錯誤的根本原因是嘗試將數值 (1.0) 加到 JSONB 值,這會導致出現「運算符不存在」錯誤。為了解決這個問題,您可以在執行操作之前使用強制轉換將 JSONB 值轉換為浮點型。
但是,僅將JSONB 值強制轉換為浮點型可能還不夠,因為PostgreSQL 提供了兩種存取JSON 值的選項:
在您的具體情況下,因為你知道緯度值都是JSON 數字,你可以使用以下查詢將它們轉換為浮點數:
SELECT (json_data->>'position'->>'lat')::float + 1.0 AS lat FROM updates LIMIT 5;
這個修改後的查詢應該會成功將JSONB lat 值轉換為浮點數,使您能夠執行所需的操作。
以上是如何將 PostgreSQL JSONB 轉換為浮點數以進行算術運算?的詳細內容。更多資訊請關注PHP中文網其他相關文章!