【问题标题】:Concatenate arrays of different sizes连接不同大小的数组
【发布时间】:2021-08-11 01:14:33
【问题描述】:

如何连接不同大小的 ARRAYS ? 试过了:

 select array_agg(field) from table

但我明白了:

错误:不能累积不同维度的数组

table:

field
-----
{1,2,3}
{3,8}
{9,0,7,9,6}
{4}
...

预期结果:

{1,2,3,3,8,9,0,7,9,6,4}

【问题讨论】:

  • 如果您想连接它们,请不要使用array_agg,它会尝试将它们放入多维数组中。
  • field 是什么数据类型,你的值是什么样的(一​​个示例表),你期望什么结果?
  • 请提供示例数据和所需的输出以及清晰的解释

标签: arrays postgresql concatenation


【解决方案1】:

找到了我的问题的答案:

PostgreSQL array_agg(INTEGER[])

CREATE AGGREGATE array_concat_agg(anyarray) (
  SFUNC = array_cat,
  STYPE = anyarray
);

来自:Łukasz Kamiński

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-24
    • 2021-06-07
    • 2019-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    相关资源
    最近更新 更多