CatĂ©gories :

Fonctions de données semi-structurées et structurées (tableau/objet)

ARRAY_CONSTRUCT¶

Renvoie un tableau construit à partir de zéro, une ou plusieurs entrées.

Pour plus d’informations sur la construction et l’utilisation de tableaux, voir ARRAY.

Voir aussi :

ARRAY_CONSTRUCT_COMPACT

Syntaxe¶

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

Arguments¶

Les arguments sont des valeurs (ou des expressions Ă©valuant des valeurs). Les valeurs des arguments peuvent ĂȘtre de types de donnĂ©es diffĂ©rents.

Renvoie¶

Le type de données de la valeur renvoyée est ARRAY.

Notes sur l’utilisation¶

  • Si la fonction est appelĂ©e avec des arguments N, la taille du tableau rĂ©sultant sera N.

  • Dans de nombreux contextes, vous pouvez utiliser une constante ARRAY (Ă©galement appelĂ©e ARRAY littĂ©ral) au lieu de la fonction ARRAY_CONSTRUCT.

  • Un tableau peut contenir Ă  la fois des valeurs SQL NULL et des valeurs JSON null. Pour plus d’informations, voir Valeurs NULL.

Exemples¶

Construisez un tableau de base composĂ© de types de donnĂ©es numĂ©riques :

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

Construisez un tableau de base composĂ© de diffĂ©rents types de donnĂ©es, y compris une valeur SQL NULL (undefined) et une valeur JSON null (null) :

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

Construisez un tableau vide :

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

CrĂ©er une table et insĂ©rer des tableaux dans une colonne 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          |
|    | ]            |
+----+--------------+