[英]How to update value of nested jsonb attribute in postgresql db
{
"personalDetails": {
"First Name": "Paul",
"Last Name": "Jamessen",
"Work Class": "A+",
"Working Unit": "Management",
"email": "demo@demo.com"
}
}
I want to update the records whose Working Unit is Management to Work Class A, like below我想更新Working Unit为Management to Work Class A的记录,如下图
{
"personalDetails": {
"First Name": "Paul",
"Last Name": "Jamessen",
"Work Class": "A",
"Working Unit": "Management",
"email": "demo@demo.com"
}
}
You can use jsonb_set()
您可以使用jsonb_set()
update the_table
set the_column = jsonb_set(the_column, '{personalDetails,"Work Class"}', '"A"')
where the_column #>> '{personalDetails,"Working Unit"}' = 'Management';
update table_name
set column_name = jsonb_set("column_name", '{"personalDetails", "Work Class"}', '"A"'::jsonb)
where column_name::json->'personalDetail'->>'Working Unit' = 'Management' ;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.