我想下面的查詢:如何轉換的PostgreSQL 9.4的jsonb型浮動
SELECT (json_data->'position'->'lat') + 1.0 AS lat FROM updates LIMIT 5;
(+1.0的僅僅是有強制轉換爲float我的實際查詢要複雜得多,此查詢只是一個測試案例的問題)
我得到的錯誤:
ERROR: operator does not exist: jsonb + numeric
如果我添加顯式鑄造:
SELECT (json_data->'position'->'lat')::float + 1.0 AS lat FROM updates LIMIT 5;
誤差變:
ERROR: operator does not exist: jsonb + double precesion
據我所知,大多數jsonb值不能被澆鑄成漂浮,但在這種情況下,我知道拉特都是JSON號碼。
是否有一個函數,將jsonb值轉換爲浮點數(或返回不可轉換的NULL值)?
有沒有'默認情況下,Postgres的try_cast'功能。你需要自己寫。 –