我有一个Jsonb字段表,需要更新Jsonb字段的数据。
数据存储如下:
[{"DOB": "04-May-2006", "Code": "2009585", "Class" : "I - Noon"}]
我需要将类键从“Noon”替换为“NS”。
我也检查了现有的答案,但所有的工作数据与单一对象如下
{"DOB": "04-May-2006", "Code": "2009585", "Class" : "I - Noon"}
我需要使用多个对象更新[]
这里是小提琴为相同的尝试
https://dbfiddle.uk/zyDBkmB7
3条答案
按热度按时间bjg7j2ky1#
使用jsonb_set
参见:https://dbfiddle.uk/JJu4oxx8
你可能需要这个:
jq6vz3qz2#
使用子查询从数组中提取所有元素,更改内容并创建新的新鲜数组:
2eafrhcq3#
你可以使用
jsonb_set
和REPLACE
来更新你的对象:如果数组中有多个元素,则使用
jsonb_array_elements
为每个对象生成行,并使用jsonb_agg
对这些更新的对象进行分组:Demo here