Combine plusieurs tableaux de structures en un objet MAP.
Syntaxe
map<K, V> map_from_entries([string <mapDupKeyPolicy>,] array <struct<K, V> , struct<K, V>[,...]>)
Paramètres
-
mapDupKeyPolicy : facultatif. Type STRING. Définit la stratégie à appliquer en cas de clé dupliquée. Les valeurs possibles sont les suivantes :
exception : renvoie une erreur si des clés dupliquées sont détectées.
last_win : en cas de duplication, la dernière valeur écrase les précédentes.
Vous pouvez également configurer ce paramètre au niveau de la session via le paramètre
odps.sql.map.key.dedup.policy, par exemple avec la commandeset odps.sql.map.key.dedup.policy=exception;. La valeur par défaut est last_win si aucune configuration n'est spécifiée.RemarqueMaxCompute privilégie la valeur définie directement dans la fonction via le paramètre mapDupKeyPolicy. Si ce paramètre n'est pas renseigné dans l'appel de fonction, MaxCompute utilise la valeur du paramètre
odps.sql.map.key.dedup.policy. Les données d'entrée doivent être de type STRUCT. Le champ K correspond à la clé du MAP généré, tandis que V correspond à sa valeur. Dans l'expression
struct<K, V>,KetVdésignent respectivement la clé et la valeur de la structure.
Valeur de retour
Renvoie une valeur de type MAP. Les règles de retour sont les suivantes :
Si le tableau de structures est NULL, le résultat est NULL.
Une erreur est renvoyée si le nombre de champs dans la structure n'est pas égal à 2 ou si la clé K contient une valeur NULL.
Exemples
--返回{1:a, 2:b}。
select map_from_entries(array(struct(1, 'a'), struct(2, 'b')));
--返回{1:a, 2:c}。
select map_from_entries(array(struct(1, 'a'), struct(2, 'b'), struct(2, 'c')));
Fonctions associées
La fonction MAP_FROM_ENTRIES fait partie des fonctions de types complexes. Pour plus d'informations sur le traitement des données de types complexes (telles que ARRAY, MAP, STRUCT et JSON), consultez la rubrique Complex type functions.