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[]"的任何评论、建议或更正 此处