Catégories :

Fonctions de données semi-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

tableau

Le tableau d’éléments à convertir en chaîne.

chaîne_séparateur

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

Le type de données de la valeur renvoyée est VARCHAR.

Notes sur l’utilisation

  • Un argument NULL renvoie NULL en conséquence.

  • Pour inclure un espace vide entre les valeurs, chaîne_séparateur doit inclure le caractère de séparation et l’espace vide (par exemple, ', '). Exemples ci-dessous.

Exemples

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