La fonction MAP_FROM_ARRAYS combine les tableaux a et b en un objet MAP.
Format de la commande
MAP<K, V> MAP_FROM_ARRAYS([STRING <mapDupKeyPolicy>,] ARRAY<K> <a>, ARRAY<V> <b>)
Paramètres
-
mapDupKeyPolicy : facultatif. Type STRING. Indique comment gérer les clés en double. Valeurs possibles :
exception : renvoie une erreur si une clé en double existe.
last_win : écrase la valeur précédente par la dernière si une clé en double existe.
Vous pouvez également définir ce paramètre au niveau de la session à l'aide du paramètre
odps.sql.map.key.dedup.policy. Par exemple :set odps.sql.map.key.dedup.policy=exception;. La valeur par défaut est last_win si ce paramètre n'est pas configuré.RemarqueMaxCompute privilégie la valeur de mapDupKeyPolicy indiquée dans la fonction. Si mapDupKeyPolicy n'est pas spécifié dans la fonction, MaxCompute utilise la valeur du paramètre
odps.sql.map.key.dedup.policy. a : obligatoire. Type ARRAY. Ce tableau fournit les clés de l'objet MAP résultant. Dans
array<K>,Kreprésente le type de données des éléments du tableau ; il peut s'agir de n'importe quel type.b : obligatoire. Type ARRAY. Ce tableau fournit les valeurs de l'objet MAP résultant. Dans
array<V>,Vreprésente le type de données des éléments du tableau ; il peut s'agir de n'importe quel type.
Valeur de retour
Renvoie un objet MAP. Les règles suivantes s'appliquent :
Si a ou b est NULL, la fonction renvoie NULL.
Si le tableau a contient un élément NULL ou si les deux tableaux ont des longueurs différentes, la fonction renvoie une erreur.
Exemples
-- Returns {"1.0": "2", "3.0": "4"}.
SELECT MAP_FROM_ARRAYS(ARRAY(1.0, 3.0), ARRAY('2', '4'));
-- Returns {"1.0": "2", "3.0": "6"}.
SELECT MAP_FROM_ARRAYS('last_win', ARRAY(1.0, 3.0, 3), ARRAY('2', '4', '6'));
Fonctions associées
MAP_FROM_ARRAYS est une fonction de type complexe. Pour plus d'informations sur les fonctions qui traitent les types de données complexes tels que ARRAY, MAP, STRUCT et JSON, consultez la rubrique Fonctions de type complexe.