PostgreSQL array_upper() 函数

PostgreSQL array_upper() 函数返回指定的数组中指定维度的最大索引。

array_upper() 语法

这里是 PostgreSQL array_upper() 函数的语法:

array_upper(array, dimension) -> integer

参数

array
必需的。 数组。
dimension
必需的。 数组的维度,它是一个整数。

返回值

PostgreSQL array_upper() 函数返回一个整数,它是指定的数组中指定维度的最大索引。

如果您指定了一个数组中不存在的维度,该函数将返回 NULL

array_upper() 示例

一维数组

本示例展示了如何使用 PostgreSQL array_upper() 函数返回一维数组的最大索引。

SELECT array_upper(ARRAY[0, 1, 2], 1);
 array_upper
-------------
           3

这说明,数组 [0, 1, 2] 的最大索引是 3。

SELECT array_upper('[3:7]={1,1,1,1,1}'::integer[], 1);
 array_upper
-------------
           7

这说明,数组的 [3:7]={1,1,1,1,1} 最大索引是 7。

多维数组

对于一个多维数组,您可以获取某个数组维度的最大索引。比如:

SELECT array_upper('[2:4][2:3]={{1,1},{1,1},{1,1}}'::integer[], 2);
 array_upper
-------------
           3

这说明,数组 [2:4][2:3]={{1,1},{1,1},{1,1}} 的第二维的最大索引是 3。