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