Crée une map à partir de tableaux de structs donnés.
Syntaxe
map<K, V> map_from_entries([string <mapDupKeyPolicy>,] array <struct<K, V> , struct<K, V>[,...]>)
Paramètres
-
mapDupKeyPolicy : facultatif. Valeur de type STRING. Ce paramètre spécifie la méthode de traitement des clés en double. Valeurs valides :
exception : renvoie une erreur.
last_win : la dernière clé écrase la précédente.
Vous pouvez également configurer le paramètre
odps.sql.map.key.dedup.policyau niveau de la session pour spécifier la méthode de traitement des clés en double. Par exemple, définissezodps.sql.map.key.dedup.policysurexception. Si vous ne configurez pas ce paramètre, la valeur par défaut last_win s'applique.RemarqueLe comportement de MaxCompute dépend de mapDupKeyPolicy. Si vous ne spécifiez pas mapDupKeyPolicy, la valeur de
odps.sql.map.key.dedup.policys'applique. Les données de type STRUCT sont requises. K correspond aux clés de la map générée. V correspond aux valeurs de la map générée.
KetVdansstruct<K, V>spécifient les clés et les valeurs d'un tableau de structs.
Valeur de retour
Renvoie une valeur de type MAP. La valeur de retour varie selon les règles suivantes :
Si un tableau de structs est null, la fonction renvoie null.
Si le nombre de champs dans un tableau de structs n'est pas égal à 2 ou si la key d'un tableau de structs est null, une erreur est renvoyée.
Exemples
-- The return value is {1:a, 2:b}.
select map_from_entries(array(struct(1, 'a'), struct(2, 'b')));
-- The return value is {1:a, 2:c}.
select map_from_entries(array(struct(1, 'a'), struct(2, 'b'), struct(2, 'c')));
Fonctions associées
MAP_FROM_ENTRIES est une fonction de type complexe. Pour plus d'informations sur les fonctions de traitement des données de types complexes, tels que ARRAY, MAP, STRUCT et JSON, consultez Fonctions de type complexe.