trim_array()
是一个用于从数组末尾删除元素的系统函数。
trim_array()
在PostgreSQL 14中添加。
用法
trim_array (array
anyarray
,n
integer
) →anyarray
trim_array()
是一个SQL:2008标准函数,实现了数组切片功能,具体来说是从数组的末尾删除最后n
个元素并返回结果。
如果数组是多维的,则修剪操作作用于维度而不是维度的元素。
更改历史记录
- PostgreSQL 14
- 添加 (提交 0a687c8f)
示例
trim_array()
的基本用法
postgres=# SELECT trim_array(ARRAY['a', 'b', 'c'], 2); trim_array ------------ {a} (1 row) postgres=# SELECT trim_array(ARRAY[1, 2, 3], 1); trim_array ------------ {1,2} (1 row) postgres=# SELECT trim_array(ARRAY[1, 2, 3], 0); trim_array ------------ {1,2,3} (1 row)
修剪多维数组
postgres=# SELECT trim_array(ARRAY[ [1, 2, 3], [4, 5, 6], [7, 8, 9] ], 1); trim_array ------------------- {{1,2,3},{4,5,6}} (1 row) postgres=# SELECT trim_array(ARRAY[ [ [1, 2, 3] ], [ [4, 5, 6] ], [ [7, 8, 9] ] ], 1); trim_array ----------------------- {{{1,2,3}},{{4,5,6}}} (1 row)
指定无效的元素数量
postgres=# SELECT trim_array(ARRAY['a','b','c'], -2); ERROR: number of elements to trim must be between 0 and 3
参考文献
- PostgreSQL文档: 数组函数