2016-04-17 42 views
1

我在Postgres的數據庫中的列具有JSONPostgres的使用JSON柱

{"predict":[{"method":"A","val":1.2},{"method":"B","val":1.7}]}

我想同時抽取VAL作爲一個單獨的列。有沒有辦法從Postgres內部做到這一點?

回答

1

如果json總是有你指示結構(即,鍵「預測」具有兩個JSON對象,每個具有「方法」和「VAL」鍵保持的陣列),那麼該解決方案是簡單地:

SELECT ((my_json->'predict')->>0)->'val' AS method_a, 
     ((my_json->'predict')->>1)->'val' AS method_b 
FROM my_table; 

如果結構可能有所不同,那麼您必須告訴我們更多關於它的信息,以便爲您提供解決方案。

+0

列是文本,所以我鑄造它作爲JSON,然後我不斷收到此錯誤 '錯誤:運營商不存在:JSON - >未知 提示:沒有運營商的指定名稱和參數類型匹配。您可能需要添加明確的類型轉換.' – Sidhha

+1

您能否將您使用的確切命令放在一起,以便我可以看到您如何使用演員? – Patrick