Kategorien:

Funktionen für semistrukturierte und strukturierte Daten (Array/Objekt)

ARRAY_TO_STRING

Gibt ein Eingabearray zurück, das in eine Zeichenfolge konvertiert wird, indem (mit TO_VARCHAR) alle Werte in Zeichenfolgen umgewandelt und diese dann verkettet werden (wobei die Zeichenfolge des zweiten Arguments zum Trennen der Elemente verwendet wird).

Syntax

ARRAY_TO_STRING( <array> , <separator_string> )
Copy

Argumente

array

Das Array von Elementen, die in eine Zeichenfolge konvertiert werden sollen.

separator_string

Die Zeichenfolge, die zwischen jedes Element eingefügt werden soll, normalerweise ein Leerzeichen, ein Komma oder ein anderes von Menschen lesbares Trennzeichen.

Rückgabewerte

Der Datentyp des zurückgegebenen Werts ist VARCHAR.

Nutzungshinweise

  • Ein NULL-Argument gibt als Ergebnis NULL zurück.

  • Um ein Leerzeichen zwischen Werten einzufügen, muss separator_string sowohl das Trennzeichen als auch das Leerzeichen enthalten (z. B. ', '). Sehen Sie sich die Beispiele unten an.

Beispiele

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