array_prepend()
是一个用于在 数组 的开头添加元素的系统函数。
array_prepend()
在 PostgreSQL 7.4 中添加。
示例
array_prepend()
的基本用法示例
postgres=# SELECT array_prepend(1, ARRAY[2,3]); array_prepend --------------- {1,2,3} (1 row) postgres=# SELECT array_prepend('foo', ARRAY['bar','baz']); array_prepend --------------- {foo,bar,baz} (1 row)
请注意,anyelement
||
anyarray
运算符是等价的
postgres=# SELECT 1 || ARRAY[2,3]; ?column? ---------- {1,2,3} (1 row)
无法将任意数据类型添加到特定类型的数组前面
postgres=# SELECT array_prepend(1, ARRAY['bar','baz']); ERROR: function array_prepend(integer, text[]) does not exist LINE 1: SELECT array_prepend(1, ARRAY['bar','baz']); ^ HINT: No function matches the given name and argument types. You might need to add explicit type casts
参考文献
- PostgreSQL 文档: 数组函数