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() 函数展开多个数组,相当于单独将每个数组展开成集合,再将多个集合按行连接起来。