PostgreSQL中使用jsonb_object_keys/json_object_keys为JSON键追加字符串
给JSON字段的所有键追加指定字符串
假设你需要给data_table表中d_json字段的每个JSON键追加指定字符串(示例中用_suffix,可自行替换),可以通过以下PostgreSQL语句实现:
查询处理后的结果
SELECT d_id, c_id, t_id, jsonb_object_agg(concat(k, '_suffix'), v) AS modified_d_json FROM data_table, jsonb_each(d_json) AS j(k, v) GROUP BY d_id, c_id, t_id;
语句说明:
jsonb_each(d_json):将JSONB对象拆分为键(k)和值(v)的行级数据concat(k, '_suffix'):给每个键拼接目标字符串,把_suffix替换成你实际需要追加的内容即可jsonb_object_agg(...):将处理后的键值对重新聚合为JSONB对象GROUP BY子句:确保原表的每一行对应一个处理后的JSON结果
更新原表的JSON字段
如果需要直接修改原表中的d_json字段,执行以下UPDATE语句:
UPDATE data_table SET d_json = ( SELECT jsonb_object_agg(concat(k, '_suffix'), v) FROM jsonb_each(d_json) AS j(k, v) );
内容的提问来源于stack exchange,提问作者Lokesh1024
相关产品推荐
相关产品推荐

