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

PostgreSQL中如何将{2,3,4}转换为{{2,TRUE},{3,TRUE},{4,TRUE}}

PostgreSQL数组转换方法

要把一维数组{2,3,4}转换为二维数组{{2,TRUE}, {3,TRUE}, {4,TRUE}},可以通过拆分数组+构造子数组+聚合的步骤实现,具体SQL语句如下:

SELECT array_agg(array[elem, TRUE::boolean]) AS converted_array
FROM unnest('{2,3,4}'::int[]) AS elem;

步骤说明:

  • 拆分数组:使用unnest('{2,3,4}'::int[])将一维数组拆分为单行记录,每一行对应数组中的一个元素(2、3、4)。
  • 构造子数组:通过array[elem, TRUE::boolean]为每个元素生成包含原元素和TRUE的子数组,比如[2, TRUE]。
  • 聚合为二维数组:用array_agg()将所有子数组重新聚合为一个二维数组,最终得到目标结果{{2,true},{3,true},{4,true}}。

单独使用unnest无法得到预期结果,是因为它仅负责拆分一维数组为行记录,还需要配合聚合函数将拆分后的行重新组合为二维数组。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 22:45:00