PostgreSQL中如何将jsonb中的元素转换为数组
把JSONB列中的对象元素转换为数组
原始数据
{"a": { "b": "2022-11-03", "c": "321321", "d": "213321" } }
期望结果
{"a": [ { "b": "2022-11-03", "c": "321321", "d": "213321" } ] }
解决方案(PostgreSQL)
使用jsonb_set函数将目标字段的值包装为单元素数组:
UPDATE your_table SET data = jsonb_set( data, '{a}', jsonb_build_array(data->'a') );
说明
jsonb_set:用于修改JSONB对象指定路径的内容'{a}':指定要修改的字段路径(此处为顶级的a字段)jsonb_build_array(data->'a'):将原a字段对应的对象转换为包含该对象的数组
若要验证结果,可执行查询查看更新后的数据:
SELECT data FROM your_table;
内容的提问来源于stack exchange,提问作者Aminatep
相关产品推荐
相关产品推荐

