PostgreSQL generate_subscripts() Function
The PostgreSQL generate_subscripts() function returns a set of array subscripts according to the specified array and dimensions.
generate_subscripts() Syntax
Here is the syntax of the PostgreSQL generate_subscripts() function:
generate_subscripts(arr array, dim integer[, reverse boolean]) -> setof integer
Parameters
arr-
Required. It can be an array of any type.
dim-
Required. The dimension of the array.
reverse-
Optional. If returns the subscripts array in reverse order. The default value is
false.
Return value
The PostgreSQL generate_subscripts() function returns a set of subscripts of the specified array dimension.
generate_subscripts() Examples
Here are some examples of the generate_subscripts() function.
To return all subscripts of the {3, 4, 5, 7}, use the following statement:
SELECT generate_subscripts('{3, 4, 5, 7}'::int[], 1);
generate_subscripts
---------------------
1
2
3
4To return all subscripts of the array {3, 4, 5, 7} in reverse order, use the following statement:
SELECT generate_subscripts('{3, 4, 5, 7}'::int[], 1, true);
generate_subscripts
---------------------
4
3
2
1To return all subscripts of the first dimension of the two-dimensional array {{3, 4, 5}, {7, 8, 9}}, use the following statement:
SELECT generate_subscripts('{{3, 4, 5}, {7, 8, 9}}'::int[][], 1);
generate_subscripts
---------------------
1
2To return all subscripts of the second-dimensional array in a two-dimensional array {{3, 4, 5}, {7, 8, 9}}, use the following statement:
SELECT generate_subscripts('{{3, 4, 5}, {7, 8, 9}}'::int[][], 2);
generate_subscripts
---------------------
1
2
3