网站维护费怎么做分录,设计网站的关键点,wordpress中文名字注册,东莞十大公司排名场景
当你不小心将 key 的名称写错了#xff08;人员类别#xff1a;多了一个冒号#xff09;#xff0c;或者想把引文改为中文#xff08;type改为类型#xff09;
大致思路是添加一个新的 key#xff0c;然后将旧的 key 删除
sql语句
假如 JSON 列为 extra#x…场景
当你不小心将 key 的名称写错了人员类别多了一个冒号或者想把引文改为中文type改为类型
大致思路是添加一个新的 key然后将旧的 key 删除
sql语句
假如 JSON 列为 extra
可以使用 extra::jsonb - type 获取到 type 的值 - 以text形式获得 JSON 对象域 {a:1,b:2}::json-b 2 可以使用 extra::jsonb - type 将 type 删除 - 从左操作数删除键/值对或者string 元素。键/值对基于它们的键值来匹配。 {a: b}::jsonb - a 可以使用 jsonb_set 来修改 json 列中的值 jsonb_set(target jsonb, path text[], new_value jsonb[,create_missing boolean]) 返回target其中由 path指定的节用 new_value替换如果 path指定的项不存在并且 create_missing为真默认为 true则加上 new_value。正如面向路径的 操作符一样出现在path中的 负整数表示从 JSON 数组的末尾开始数。 jsonb_set([{f1:1,f2:null},2,null,3], {0,f1},[2,3,4], false) jsonb_set([{f1:1,f2:null},2], {0,f3},[2,3,4]) [{f1:[2,3,4],f2:null},2,null,3] [{f1: 1, f2: null, f3: [2, 3, 4]}, 2]
学习了以上知识点就可以组合使用最终的 sql 语句如下
UPDATE table_name
SET extra jsonb_set(extra::jsonb - type, {类型}, extra::jsonb - type)
WHERE extra - type is not null;参考链接
http://www.postgres.cn/docs/12/functions-json.html