array_fill() 是一个系统函数,它返回一个具有用户定义维度的、用指定值填充的数组。
array_fill() 在 PostgreSQL 8.4 中添加。
用法
array_fill (anyelement,integer[] [,integer[] ] ) →anyarray
变更历史
- PostgreSQL 8.4
- 添加于 (提交 2c773296)
示例
array_fill() 的基本用法示例
postgres=# SELECT array_fill(1, ARRAY[3]);
array_fill
------------
{1,1,1}
(1 row)
postgres=# SELECT array_fill(1, ARRAY[2,3]);
array_fill
-------------------
{{1,1,1},{1,1,1}}
(1 row)
提供的值的类型可能需要被显式指定
postgres=# SELECT array_fill('foo', ARRAY[2,3]);
ERROR: could not determine polymorphic type because input has type unknown
postgres=# SELECT array_fill('foo'::TEXT, ARRAY[2,3]);
array_fill
-------------------------------
{{foo,foo,foo},{foo,foo,foo}}
(1 row)
可以为每个数组维度指定下界
postgres=# SELECT array_fill(1, ARRAY[2,3], ARRAY[1,2]);
array_fill
------------------------------
[1:2][2:4]={{1,1,1},{1,1,1}}
(1 row)
参考资料
- PostgreSQL documentation: 数组函数
