- 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> )
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¶
Gibt einen Wert vom Typ VARCHAR zurück.
Nutzungshinweise¶
Ein NULL-Argument gibt als Ergebnis NULL zurück.
Ein NULL-Wert in einem Array wird im Ergebnis in eine leere Zeichenfolge umgewandelt.
Um ein Leerzeichen zwischen den Werten einzufügen, müssen Sie dem Leerzeichen ein Trennzeichen voranstellen (z. B.
', '
). Siehe die Beispiele unten.
Beispiele¶
Gibt verschiedene Arrays als verkettete Zeichenfolgen zurück:
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 |
+-----------------------------------------------+---------------------------------+-------------------------------------------+
Dieses Beispiel gibt ein Array zurück, das einen NULL-Wert als verkettete Zeichenfolge enthält. Erstellen Sie zunächst eine Tabelle, und fügen Sie ein Array ein:
CREATE TABLE test_array_to_string_with_null(a ARRAY);
INSERT INTO test_array_to_string_with_null
SELECT (['A', NULL, 'B']);
Geben Sie das Array als verkettete Zeichenfolge zurück:
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" | | |
| ] | | |
+--------------+------------------------+--------------------------+