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 文档: 数组函数