类别:

半结构化和结构化数据函数 (数组/对象)

ARRAY_CONSTRUCT

返回由零个、一个或多个输入构造的数组。

有关构建和使用数组的更多信息,请参阅 ARRAY

另请参阅:

ARRAY_CONSTRUCT_COMPACT

语法

ARRAY_CONSTRUCT( [ <expr1> ] [ , <expr2> [ , ... ] ] )
Copy

实参

实参是值(或计算结果为值的表达式)。参数值可以是不同的数据类型。

返回

返回值的数据类型是 ARRAY。

使用说明

  • 如果调用该函数时带有 N 个实参,则生成的数组大小为 N

  • 在许多情况下,可以使用 :ref:`ARRAY 常量 <label-array_constant>`(也称为 ARRAY 字面量)来代替 ARRAY_CONSTRUCT 函数。

示例

构造一个由数值数据类型组成的基本数组:

SELECT ARRAY_CONSTRUCT(10, 20, 30);
Copy
+-----------------------------+
| ARRAY_CONSTRUCT(10, 20, 30) |
|-----------------------------|
| [                           |
|   10,                       |
|   20,                       |
|   30                        |
| ]                           |
+-----------------------------+

构造一个由不同数据类型组成的基本数组:

SELECT ARRAY_CONSTRUCT(NULL, 'hello', 3::DOUBLE, 4, 5);
Copy
+-------------------------------------------------+
| ARRAY_CONSTRUCT(NULL, 'HELLO', 3::DOUBLE, 4, 5) |
|-------------------------------------------------|
| [                                               |
|   undefined,                                    |
|   "hello",                                      |
|   3.000000000000000e+00,                        |
|   4,                                            |
|   5                                             |
| ]                                               |
+-------------------------------------------------+

构造一个空数组:

SELECT ARRAY_CONSTRUCT();
Copy
+-------------------+
| ARRAY_CONSTRUCT() |
|-------------------|
| []                |
+-------------------+

创建一个表并将数组插入到 ARRAY 列中:

CREATE OR REPLACE TABLE construct_array_example (id INT, array_column ARRAY);

INSERT INTO construct_array_example (id, array_column)
  SELECT 1,
         ARRAY_CONSTRUCT(1, 2, 3);

INSERT INTO construct_array_example (id, array_column)
  SELECT 2,
         ARRAY_CONSTRUCT(4, 5, 6);

INSERT INTO construct_array_example (id, array_column)
  SELECT 3,
         ARRAY_CONSTRUCT(7, 8, 9);

SELECT * FROM construct_array_example;
Copy
+----+--------------+
| ID | ARRAY_COLUMN |
|----+--------------|
|  1 | [            |
|    |   1,         |
|    |   2,         |
|    |   3          |
|    | ]            |
|  2 | [            |
|    |   4,         |
|    |   5,         |
|    |   6          |
|    | ]            |
|  3 | [            |
|    |   7,         |
|    |   8,         |
|    |   9          |
|    | ]            |
+----+--------------+
语言: 中文