我有一个PG表,其中有一个名为data的json字段,结构如下
{
"location": "",
"department": [],
"languagesKnown": [
"English,Spanish"
],
"maritalStatus": "Single",
"kidsCount": 0,
"relations": [
{
"type": "father",
"name": "somename",
"status": "live"
},
{
"type": "Mother",
"name": "somename",
"status": "Notlive"
}
]
}
如何将状态值为“NotAlive”的所有关系更新为“No More”
PG版本:14
1条答案
按热度按时间rdlzhqv91#
可以使用
jsonb_set
:1.使用
jsonb_array_elements()
提取所有数组元素,并使用jsonb_set()
更新数组元素中的状态。CASE子句执行条件检查。1.使用
jsonb_agg
将数组元素聚合到一个数组中update语句可以是:
Demo here