- Kategorien:
Funktionen für semistrukturierte und strukturierte Daten (Array/Objekt)
ARRAYS_TO_OBJECT¶
Gibt ein OBJECT zurück, das die von einem Eingabe-ARRAY angegebenen Schlüssel und die von einem anderen Eingabe-ARRAY angegebenen Werte enthält.
Syntax¶
ARRAYS_TO_OBJECT( <key_array> , <value_array> )
Argumente¶
key_array
ARRAY von VARCHAR-Werten, die die Schlüssel für das neue OBJECT angeben.
value_array
ARRAY von Werten für das neue OBJECT. Dieses ARRAY muss die gleiche Länge haben wie
key_array
. Die Werte in diesem ARRAY müssen den Schlüsseln inkey_array
entsprechen.
Rückgabewerte¶
Die Funktion gibt einen Wert vom Typ OBJECT zurück. Das OBJECT enthält die durch die Eingabe-ARRAYs angegebenen Schlüssel und Werte.
Nutzungshinweise¶
Wenn ein Element in
key_array
keine Zeichenfolge ist, meldet die Funktion den folgenden Fehler:215002 (22000): Key supplied for ARRAYS_TO_OBJECT does not have string type
key_array
undvalue_array
müssen gleich lang sein. Andernfalls meldet die Funktion den folgenden Fehler:215001 (22000): Key array and value array had unequal lengths in ARRAYS_TO_OBJECT
Wenn ein Element in
key_array
NULL ist, werden dieser Schlüssel und der entsprechende Wert in dem zurückgegebenen OBJECT weggelassen.Wenn der Schlüssel nicht NULL, das entsprechende Element in
value_array
aber NULL ist, werden der Schlüssel und der Wert NULL in das zurückgegebene OBJECT aufgenommen.Das zurückgegebene OBJECT-Objekt behält nicht unbedingt die ursprüngliche Reihenfolge der Schlüssel-Wert-Paare bei.
Diese Funktion unterstützt keine strukturierten Typen als Eingabeargument.
Beispiele¶
Das folgende Beispiel gibt ein OBJECT zurück, das Schlüssel-Wert-Paare enthält, die durch zwei Eingabe-ARRAYs spezifiziert werden:
SELECT ARRAYS_TO_OBJECT(['key1', 'key2', 'key3'], [1, 2, 3]);
+-------------------------------------------------------+
| ARRAYS_TO_OBJECT(['KEY1', 'KEY2', 'KEY3'], [1, 2, 3]) |
|-------------------------------------------------------|
| { |
| "key1": 1, |
| "key2": 2, |
| "key3": 3 |
| } |
+-------------------------------------------------------+
Im folgenden Beispiel enthält das ARRAY der Schlüssel einen NULL-Wert. Dieser Schlüssel und der entsprechende Wert werden in dem zurückgegebenen OBJECT weggelassen.
SELECT ARRAYS_TO_OBJECT(['key1', NULL, 'key3'], [1, 2, 3]);
+-----------------------------------------------------+
| ARRAYS_TO_OBJECT(['KEY1', NULL, 'KEY3'], [1, 2, 3]) |
|-----------------------------------------------------|
| { |
| "key1": 1, |
| "key3": 3 |
| } |
+-----------------------------------------------------+
Im folgenden Beispiel enthält das ARRAY der Werte einen NULL-Wert. Dieser Wert und der entsprechende Schlüssel sind in dem zurückgegebenen OBJECT enthalten.
SELECT ARRAYS_TO_OBJECT(['key1', 'key2', 'key3'], [1, NULL, 3]);
+----------------------------------------------------------+
| ARRAYS_TO_OBJECT(['KEY1', 'KEY2', 'KEY3'], [1, NULL, 3]) |
|----------------------------------------------------------|
| { |
| "key1": 1, |
| "key2": null, |
| "key3": 3 |
| } |
+----------------------------------------------------------+