2013-10-29 61 views
2

我的表中有一個TEXT列(它實際上是「字符變化」),但列中的數據是有效的json。如何使用Postgres 9.3的新JSON函數訪問此列中的字段?PostgreSQL將TEXT視爲JSON

我基本上想要的是一種方法,能夠做到:

SELECT mycolumn->'myfield' from mytable; 

我需要整列轉換爲原生JSON數據類型,或者是有投細胞容易/有效的方法?

+0

所以你試圖鑄造他們你的查詢中,並沒有奏效? –

回答

5
SELECT mycolumn::json->'myfield' from mytable;
1

如果你的列中的數據有有效的json,那麼轉換整個列是有意義的。

要將列轉換爲JSON:

ALTER TABLE mytable ALTER COLUMN mycolumn TYPE JSON USING mycolumn::JSON; 
+0

請爲您的答案添加解釋,而不僅僅是裸露的代碼... – inf3rno