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

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 in key_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 und value_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.

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]);
Copy
+-------------------------------------------------------+
| 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]);
Copy
+-----------------------------------------------------+
| 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]);
Copy
+----------------------------------------------------------+
| ARRAYS_TO_OBJECT(['KEY1', 'KEY2', 'KEY3'], [1, NULL, 3]) |
|----------------------------------------------------------|
| {                                                        |
|   "key1": 1,                                             |
|   "key2": null,                                          |
|   "key3": 3                                              |
| }                                                        |
+----------------------------------------------------------+