我有一個TEXT
列包含有效的JSON字符串。PostgreSQL 9.2 - 將TEXT json字符串轉換爲json/hstore類型
CREATE TABLE users(settings TEXT);
INSERT INTO users VALUES ('{"language":"en","gender":"male"}');
INSERT INTO users VALUES ('{"language":"fr","gender":"female"}');
INSERT INTO users VALUES ('{"language":"es","gender":"female"}');
INSERT INTO users VALUES ('{"language":"en","gender":"male"}');
我想將某些字段轉換爲查詢格式。
A REGEXP_REPLACE
會爲每個字段做(language
字段和gender
字段)。但因爲它是有效的JSON,是有辦法:
- 轉換成JSON類型
- 轉換成hstore型
- 或任何其他可行的方式
SQLFiddle:http://sqlfiddle.com/#!12/54823
請求的功能是從一個有趣的功能9.3。我讀了一些文章,其中描述使用pl/js8爲此目的http://www.postgresonline.com/journal/archives/263-PLV8JS-and-PLCoffee-Part-2-JSON-search-requests.html – 2013-04-18 05:41:13
謝謝。我還發現我可以通過將它轉換爲JSON來執行第一個操作:'settings :: json'。但它不能查詢。以正則表達式結算。 – huy 2013-04-18 07:35:25
僅供參考對於PostgreSQL 9.2,有一個9.3 JSON函數增強的backport http://adpgtech.blogspot.co.nz/2013/04/backport-of-93-json-enhancements.html – 2013-04-27 10:22:36