各种尺寸的不同阵列

时间:2014-08-06 02:32:46

标签: sql arrays postgresql unnest set-returning-functions

是否有可以将不同维度的数组作为集合返回的函数或查询?例如,我想返回值

ARRAY[1]
ARRAY[2,3]
ARRAY[4,5,6]

作为

1
2
3
4
5
6

2 个答案:

答案 0 :(得分:4)

使用unnest()

SELECT unnest(arr) AS elem
FROM (
 VALUES
   (ARRAY[1])
  ,(ARRAY[2,3])
  ,(ARRAY[4,5,6])
  ) t (arr);

按要求退货 更多细节:

答案 1 :(得分:0)

尝试以下查询

select unnest(a) from
(select array[1] as arr union select array[2,3]
union select array[4,5,6]) t

希望这可能会有所帮助:) ..