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.

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 :

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                                             |
| ]                                               |
+-------------------------------------------------+

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          |
|    | ]            |
+----+--------------+