unnest()

将数组扩展到一组行的系统函数

unnest() 是一个将数组或数组组合扩展到一组行的系统函数。

unnest()PostgreSQL 8.4 中添加。

用法

unnest ( anyarray ) → setof anyelement

PostgreSQL 9.4 及更高版本

unnest ( anyarray, anyarray [, ... ] ) → setof anyelement, anyelement [, ... ]

更改历史记录

示例

unnest() 的基本用法

postgres=# SELECT unnest(ARRAY[1,2,3]);
 unnest 
--------
      1
      2
      3
(3 rows)

postgres=# SELECT unnest('{1,2,3}'::INT[]);
 unnest 
--------
      1
      2
      3
(3 rows)

将多个数组扩展到一组行

postgres=# SELECT * FROM unnest(ARRAY[1,2,3], ARRAY['foo','bar','baz']) AS x(id, val);
 id | val 
----+-----
  1 | foo
  2 | bar
  3 | baz
(3 rows)

请注意,此变体仅在 FROM 子句中可用。

将不同长度的多个数组扩展到一组行

postgres=# SELECT * FROM unnest(ARRAY[1,2], ARRAY['foo','bar','baz','boo'], ARRAY['a','b','c']) AS x(id, val);
 id | val | unnest 
----+-----+--------
  1 | foo | a
  2 | bar | b
    | baz | c
    | boo | 
(4 rows)

分类

数组系统函数

另请参阅

string_to_table()

反馈

提交任何关于 "unnest()" 的评论、建议或更正 此处