ARRAY[]

数组构造函数

ARRAY[] 是一个用于在表达式中生成数组的构造函数。

ARRAY[]PostgreSQL 7.4 中添加。

用法

ARRAY[] 可用于生成一维数组,或者如果嵌套,则生成多维数组。提供的数值必须解析为同一数据类型,或者可以提供显式转换。

更改历史记录

示例

ARRAY[] 的简单用法示例,创建一个一维数组

postgres=# SELECT ARRAY[1,2,3];
  array  
---------
 {1,2,3}
(1 row)

可以通过嵌套 ARRAY[] 调用来创建多维数组,这里有两个维度

postgres=# SELECT ARRAY[ ARRAY[1,2,3], ARRAY[4,5,6] ];
       array       
-------------------
 {{1,2,3},{4,5,6}}
(1 row)

数组的每个维度必须包含相同数量的元素

postgres=# SELECT ARRAY[ ARRAY[1,2,3], ARRAY[4,5] ];
ERROR:  multidimensional arrays must have array expressions with matching dimensions

数组的每个维度都必须可解析为同一数据类型

postgres=# SELECT ARRAY[ ARRAY[1,2,3], ARRAY['a','b','c'] ];
ERROR:  ARRAY could not convert type text[] to integer[]
LINE 1: SELECT ARRAY[ ARRAY[1,2,3], ARRAY['a','b','c'] ];

如果可能,提供的数值将解析为同一数据类型

postgres=# SELECT ARRAY[1,'2',3];
  array  
---------
 {1,2,3}
(1 row)

postgres=# SELECT ARRAY['a',2,3];
ERROR:  invalid input syntax for type integer: "a"
LINE 1: SELECT ARRAY['a',2,3];

可以提供显式转换以指定数组类型

postgres=# SELECT ARRAY['a',2,3]::text[];
  array  
---------
 {a,2,3}
(1 row)

分类

数组

反馈

提交您对 "ARRAY[]" 的任何评论、建议或更正 此处