You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将PostgreSQL的JSONB列从JSON字符串转为JSON对象数组?

PostgreSQL JSONB列拆分为键值对独立对象数组的更新语句

要实现将JSONB列中的对象拆分为每个键值对单独的JSON对象并组成数组,你需要先拆分原对象的键值对,再逐个构建独立对象,最后聚合为数组。使用以下UPDATE语句:

UPDATE table_name
SET data = (
  SELECT jsonb_agg(jsonb_build_object(key, value))
  FROM jsonb_each(data)
);

语句说明:

  • jsonb_each(data):将原JSONB对象拆分为多行记录,每行包含key(原对象的键)和value(对应的值)
  • jsonb_build_object(key, value):把每一组键值对转换为单独的JSON对象(如{"fruit":"apple"})
  • jsonb_agg(...):将所有单独的JSON对象聚合为一个JSON数组
  • 子查询的结果直接赋值给data列,完成更新

执行后,原数据{"fruit":"apple", "color":"blue"}会被更新为[{"fruit":"apple"}, {"color":"blue"}],符合需求。

内容的提问来源于stack exchange,提问作者Tasks

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 07:20:47