- Catégories :
Fonctions de données semi-structurées et structurées (tableau/objet)
ARRAYS_TO_OBJECT¶
Renvoie un OBJECT qui contient les clés spécifiées par un ARRAY d’entrée et les valeurs spécifiées par un autre ARRAY d’entrée.
Syntaxe¶
ARRAYS_TO_OBJECT( <key_array> , <value_array> )
Arguments¶
key_array
ARRAY de valeurs VARCHAR qui spécifient les clés du nouvel OBJECT.
value_array
ARRAY de valeurs du nouvel OBJECT. Ce ARRAY doit être de la même longueur que
key_array
. Les valeurs de ce ARRAY doivent correspondre aux clés dekey_array
.
Renvoie¶
La fonction renvoie une valeur du type OBJECT. L’OBJECT contient les clés et les valeurs spécifiées par les ARRAYs d’entrée.
Notes sur l’utilisation¶
Si l’un des éléments de
key_array
n’est pas une chaîne, la fonction signale l’erreur suivante :215002 (22000): Key supplied for ARRAYS_TO_OBJECT does not have string type
key_array
etvalue_array
doivent être de même longueur. Sinon, la fonction signale l’erreur suivante :215001 (22000): Key array and value array had unequal lengths in ARRAYS_TO_OBJECT
Si un élément de
key_array
est NULL, cette clé et la valeur correspondante sont omises dans l’OBJECT renvoyé.Si la clé n’est pas NULL, mais que l’élément correspondant dans
value_array
est NULL, la clé et la valeur NULL sont incluses dans l’OBJECT renvoyé.L’OBJECT renvoyé ne conserve pas nécessairement l’ordre d’origine des paires clé-valeur.
Cette fonction ne prend pas en charge un type structuré comme argument d’entrée.
Exemples¶
L’exemple suivant renvoie un OBJECT qui contient des paires clé-valeur spécifiées par deux ARRAYs d’entrée :
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 |
| } |
+-------------------------------------------------------+
Dans l’exemple suivant, le ARRAY de clés comprend une valeur NULL. Cette clé et la valeur correspondante sont omises dans l’OBJECT renvoyé.
SELECT ARRAYS_TO_OBJECT(['key1', NULL, 'key3'], [1, 2, 3]);
+-----------------------------------------------------+
| ARRAYS_TO_OBJECT(['KEY1', NULL, 'KEY3'], [1, 2, 3]) |
|-----------------------------------------------------|
| { |
| "key1": 1, |
| "key3": 3 |
| } |
+-----------------------------------------------------+
Dans l’exemple suivant, le ARRAY de valeurs comprend une valeur NULL. Cette valeur et la clé correspondante sont incluses dans l’OBJECT renvoyé.
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 |
| } |
+----------------------------------------------------------+