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[]”的评论、建议或更正请点击 这里