对于9.5以下的版本,请参见此问题
我使用以下方法在PostgreSQL中创建了一个表:
CREATE TEMP TABLE jsontesting
AS
SELECT id, jsondata::jsonb FROM ( VALUES
(1, '["abra","value","mango", "apple", "sample"]'),
(2, '["japan","china","india", "russia", "australia"]'),
(3, '["must", "match"]'),
(4, '["abra","value","true", "apple", "sample"]'),
(5, '["abra","false","mango", "apple", "sample"]'),
(6, '["string","value","mango", "apple", "sample"]'),
(7, '["must", "watch"]')
) AS t(id,jsondata);
现在我想要的是
-
add类似于append_to_json_array的东西接收实际的jsondata,它是一个json数组,以及我必须添加到该jsondata数组中的newString,这个函数应该返回更新后的jsonarray.
UPDATE jsontesting SET jsondata=append_to_json_array(jsondata, 'newString') WHERE id = 7;
remove json数据数组中的一个值,一个用于删除该值的函数.
我试图搜索PostgreSQL的文档,但在那里什么也没找到.