PostgreSQL unnest() 函数使用指南
PostgreSQL unnest()
函数将指定的数组展开为一个行的集合。
unnest()
语法
这里是 PostgreSQL unnest()
函数的语法:
unnest(array) -> set
或者
unnest(array, array[, array ...]) -> set, set [, set ...]
参数
array
- 必需的。 数组。
返回值
PostgreSQL unnest()
函数返回一个集合,数组中的每个元素成为集合中的一行。
unnest()
示例
一维数组
本示例展示了如何使用 PostgreSQL unnest()
函数将一维数组展开为一个集合。
SELECT unnest(ARRAY[0, 1, 2]);
unnest
--------
0
1
2
多维数组
本示例展示了如何使用 PostgreSQL unnest()
函数将二维数组展开为一个集合。
SELECT unnest('[2:4][2:3]={{1,2},{3,4},{5,6}}'::integer[]);
unnest
--------
1
2
3
4
5
6
展开多个数组
SELECT * FROM
unnest(
ARRAY[1, 2, 3, 4],
ARRAY['a', 'b', 'c'],
ARRAY['A', 'B', 'C', 'D']
) AS x(x,y,z);
x | y | z
---+---+---
1 | a | A
2 | b | B
3 | c | C
4 | | D
这里, unnest()
函数展开多个数组,相当于单独将每个数组展开成集合,再将多个集合按行连接起来。