简体   繁体   中英

Unnest arrays of different dimensions

Is there a function or query that could return arrays of different dimensions as a set? For example, I would like to return the values

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

as

1
2
3
4
5
6

Use unnest() :

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

Returns as requested.
More details:

try the following query

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

hopes this may be helpful :) ..

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM