PostgreSQL generate_subscripts() 函数使用指南
PostgreSQL generate_subscripts()
函数根据指定的数组和维度返回由数组下标组成的集合。
generate_subscripts()
语法
这里是 PostgreSQL generate_subscripts()
函数的语法:
generate_subscripts(arr array, dim integer[, reverse boolean]) -> setof integer
参数
arr
- 必需的。 它可以是一个任意类型的数组。
dim
- 必需的。 数组的维度。
reverse
- 可选的。 是否逆序。默认值为
false
。
返回值
PostgreSQL generate_subscripts()
函数返回指定的数组维度的下标的集合。
generate_subscripts()
实例
这里整理了一些 generate_subscripts()
函数的示例。
要返回数组 {3, 4, 5, 7}
的所有下标,请使用以下语句:
SELECT generate_subscripts('{3, 4, 5, 7}'::int[], 1);
generate_subscripts
---------------------
1
2
3
4
要按照逆序返回数组 {3, 4, 5, 7}
的所有下标,请使用以下语句:
SELECT generate_subscripts('{3, 4, 5, 7}'::int[], 1, true);
generate_subscripts
---------------------
4
3
2
1
要返回二维数组 {{3, 4, 5}, {7, 8, 9}}
中第一维数组的所有下标,请使用以下语句:
SELECT generate_subscripts('{{3, 4, 5}, {7, 8, 9}}'::int[][], 1);
generate_subscripts
---------------------
1
2
要返回二维数组 {{3, 4, 5}, {7, 8, 9}}
中第二维数组的所有下标,请使用以下语句:
SELECT generate_subscripts('{{3, 4, 5}, {7, 8, 9}}'::int[][], 2);
generate_subscripts
---------------------
1
2
3