- 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 :
Syntaxe¶
ARRAY_CONSTRUCT( [ <expr1> ] [ , <expr2> [ , ... ] ] )
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 seraN
.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);
+-----------------------------+
| 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);
+---------------------------------------------------------------------+
| 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();
+-------------------+
| 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;
+----+--------------+
| ID | ARRAY_COLUMN |
|----+--------------|
| 1 | [ |
| | 1, |
| | 2, |
| | 3 |
| | ] |
| 2 | [ |
| | 4, |
| | 5, |
| | 6 |
| | ] |
| 3 | [ |
| | 7, |
| | 8, |
| | 9 |
| | ] |
+----+--------------+