- Catégories :
Fonctions de données semi-structurées et structurées (tableau/objet)
ARRAY_TO_STRING¶
Renvoie un tableau d’entrée converti en chaîne en convertissant toutes les valeurs en chaînes (en utilisant TO_VARCHAR) et en les concaténant (en utilisant la chaîne du second argument pour séparer les éléments).
Syntaxe¶
ARRAY_TO_STRING( <array> , <separator_string> )
Arguments¶
array
Le tableau d’éléments à convertir en chaîne.
separator_string
La chaîne à insérer entre chaque élément, généralement un espace, une virgule ou un autre séparateur lisible par l’homme.
Renvoie¶
La fonction renvoie une valeur de type VARCHAR.
Notes sur l’utilisation¶
Un argument NULL renvoie NULL en conséquence.
Une valeur NULL dans un tableau est convertie en chaîne vide dans le résultat.
Pour inclure un espace vide entre les valeurs, vous devez faire précéder l’espace du caractère séparateur (par exemple
', '
). Voir les exemples ci-dessous.
Exemples¶
Renvoyez divers tableaux sous forme de chaînes concaténées :
SELECT column1,
ARRAY_TO_STRING(PARSE_JSON(column1), '') AS no_separation,
ARRAY_TO_STRING(PARSE_JSON(column1), ', ') AS comma_separated
FROM VALUES
(NULL),
('[]'),
('[1]'),
('[1, 2]'),
('[true, 1, -1.2e-3, "Abc", ["x","y"], {"a":1}]'),
('[, 1]'),
('[1, ]'),
('[1, , ,2]');
+-----------------------------------------------+---------------------------------+-------------------------------------------+
| COLUMN1 | NO_SEPARATION | COMMA_SEPARATED |
|-----------------------------------------------+---------------------------------+-------------------------------------------|
| NULL | NULL | NULL |
| [] | | |
| [1] | 1 | 1 |
| [1, 2] | 12 | 1, 2 |
| [true, 1, -1.2e-3, "Abc", ["x","y"], {"a":1}] | true1-0.0012Abc["x","y"]{"a":1} | true, 1, -0.0012, Abc, ["x","y"], {"a":1} |
| [, 1] | 1 | , 1 |
| [1, ] | 1 | 1, |
| [1, , ,2] | 12 | 1, , , 2 |
+-----------------------------------------------+---------------------------------+-------------------------------------------+
Cet exemple renvoie un tableau contenant une valeur NULL sous forme de chaîne concaténée. Commencez par créer une table et insérer un tableau :
CREATE TABLE test_array_to_string_with_null(a ARRAY);
INSERT INTO test_array_to_string_with_null
SELECT (['A', NULL, 'B']);
Renvoyez le tableau sous forme de chaîne concaténée :
SELECT a,
ARRAY_TO_STRING(a, ''),
ARRAY_TO_STRING(a, ', ')
FROM test_array_to_string_with_null;
+--------------+------------------------+--------------------------+
| A | ARRAY_TO_STRING(A, '') | ARRAY_TO_STRING(A, ', ') |
|--------------+------------------------+--------------------------|
| [ | AB | A, , B |
| "A", | | |
| undefined, | | |
| "B" | | |
| ] | | |
+--------------+------------------------+--------------------------+