问题描述
{
"personalDetails": {
"First Name": "Paul","Last Name": "Jamessen","Work Class": "A+","Working Unit": "Management","email": "demo@demo.com"
}
}
我想将工作单位为管理类的记录更新为工作类A,如下图
{
"personalDetails": {
"First Name": "Paul","Work Class": "A","email": "demo@demo.com"
}
}
解决方法
您可以使用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",'"A"'::jsonb)
where column_name::json->'personalDetail'->>'Working Unit' = 'Management' ;