- Categorias:
Funções de dados semiestruturados e estruturados (Matriz/objeto)
ARRAY_CONSTRUCT¶
Retorna uma matriz construída a partir de zero, uma ou mais entradas.
Para obter mais informações sobre como construir e usar matrizes, consulte ARRAY.
- Consulte também:
Sintaxe¶
ARRAY_CONSTRUCT( [ <expr1> ] [ , <expr2> [ , ... ] ] )
Argumentos¶
Os argumentos são valores (ou expressões avaliadas como valores). Os valores dos argumento podem ser tipos de dados diferentes.
Retornos¶
O tipo de dados do valor retornado é ARRAY.
Notas de uso¶
Se a função for chamada com argumentos
N
, o tamanho da matriz resultante seráN
.Em muitos contextos, você pode usar uma constante de ARRAY (também chamada de literal de ARRAY) em vez da função ARRAY_CONSTRUCT.
Uma matriz pode conter tanto valores SQL NULL quanto valores JSON nulos. Para obter mais informações, consulte Valores NULL.
Exemplos¶
Construir uma matriz básica que consiste em tipos de dados numéricos:
SELECT ARRAY_CONSTRUCT(10, 20, 30);
+-----------------------------+
| ARRAY_CONSTRUCT(10, 20, 30) |
|-----------------------------|
| [ |
| 10, |
| 20, |
| 30 |
| ] |
+-----------------------------+
Construa uma matriz básica composta de diferentes tipos de dados, incluindo um valor SQL NULL (undefined
) e um valor nulo JSON (null
):
SELECT ARRAY_CONSTRUCT(NULL, PARSE_JSON('null'), 'hello', 3::DOUBLE, 4, 5);
+---------------------------------------------------------------------+
| ARRAY_CONSTRUCT(NULL, PARSE_JSON('NULL'), 'HELLO', 3::DOUBLE, 4, 5) |
|---------------------------------------------------------------------|
| [ |
| undefined, |
| null, |
| "hello", |
| 3.000000000000000e+00, |
| 4, |
| 5 |
| ] |
+---------------------------------------------------------------------+
Construir uma matriz vazia:
SELECT ARRAY_CONSTRUCT();
+-------------------+
| ARRAY_CONSTRUCT() |
|-------------------|
| [] |
+-------------------+
Crie uma tabela e insira matrizes em uma coluna 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;
+----+--------------+
| ID | ARRAY_COLUMN |
|----+--------------|
| 1 | [ |
| | 1, |
| | 2, |
| | 3 |
| | ] |
| 2 | [ |
| | 4, |
| | 5, |
| | 6 |
| | ] |
| 3 | [ |
| | 7, |
| | 8, |
| | 9 |
| | ] |
+----+--------------+