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> )
Copy

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]');
Copy
+-----------------------------------------------+---------------------------------+-------------------------------------------+
| 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']);
Copy

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;
Copy
+--------------+------------------------+--------------------------+
| A            | ARRAY_TO_STRING(A, '') | ARRAY_TO_STRING(A, ', ') |
|--------------+------------------------+--------------------------|
| [            | AB                     | A, , B                   |
|   "A",       |                        |                          |
|   undefined, |                        |                          |
|   "B"        |                        |                          |
| ]            |                        |                          |
+--------------+------------------------+--------------------------+