array_upper() 是一个系统函数,用于返回指定 数组 维度的上界。
array_upper() 在 PostgreSQL 7.4 中引入。
用法
array_upper (anyarray,integer) →integer
给定一个数组(例如 ['foo','bar','baz']),array_lower() 返回最后一个(最高)元素的索引,即数组的上界。
postgres=# SELECT array_upper(ARRAY['foo', 'bar', 'baz'], 1);
array_upper
-------------
3
(1 row)
上面示例中的第二个参数引用了数组的维度 - 因为示例数组只有一个维度,所以这个值必须是 1。
也可以指定数组上界的另一个结束点,例如:
postgres=# SELECT array_upper('[0:2]={1,2,3}'::integer[], 1);
array_upper
-------------
2
(1 row)
变更历史
- PostgreSQL 7.4
- 添加于(提交 fef731d1)
示例
array_upper() 的基本执行示例
postgres=# SELECT array_upper(ARRAY[1,2,3], 1);
array_upper
-------------
3
(1 row)
将 array_upper() 用于多维数组
postgres=# SELECT array_upper(array[ [1,2,3],[4,5,NULL] ], 2);
array_upper
-------------
3
(1 row)
如果提供了无效的数组维度,则返回 NULL。
postgres=# SELECT array_upper(ARRAY[1,2,3], 2) IS NULL; ?column? ---------- t (1 row)
参考资料
- PostgreSQL documentation: 数组函数
