我在Postgres的數據庫中的列具有JSONPostgres的使用JSON柱
{"predict":[{"method":"A","val":1.2},{"method":"B","val":1.7}]}
我想同時抽取VAL作爲一個單獨的列。有沒有辦法從Postgres內部做到這一點?
我在Postgres的數據庫中的列具有JSONPostgres的使用JSON柱
{"predict":[{"method":"A","val":1.2},{"method":"B","val":1.7}]}
我想同時抽取VAL作爲一個單獨的列。有沒有辦法從Postgres內部做到這一點?
Postgres在9.2中引入了JSON types加上functions and operators。如果您的專欄是JSON類型,則可以使用它們來進行抽取。
如果json
總是有你指示結構(即,鍵「預測」具有兩個JSON對象,每個具有「方法」和「VAL」鍵保持的陣列),那麼該解決方案是簡單地:
SELECT ((my_json->'predict')->>0)->'val' AS method_a,
((my_json->'predict')->>1)->'val' AS method_b
FROM my_table;
如果結構可能有所不同,那麼您必須告訴我們更多關於它的信息,以便爲您提供解決方案。
列是文本,所以我鑄造它作爲JSON,然後我不斷收到此錯誤 '錯誤:運營商不存在:JSON - >未知 提示:沒有運營商的指定名稱和參數類型匹配。您可能需要添加明確的類型轉換.' – Sidhha
您能否將您使用的確切命令放在一起,以便我可以看到您如何使用演員? – Patrick