trim_array() 是一个系统函数,用于从 数组 的末尾移除元素。
trim_array() 在 PostgreSQL 14 中添加。
用法
trim_array (arrayanyarray,ninteger) →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 文档: 数组函数
