Calcula a união de múltiplos maps.
Sintaxe
map<K, V> map_concat([string <mapDupKeyPolicy>,] map<K, V> <a>, map<K, V> <b>[,...])
Parâmetros
-
mapDupKeyPolicy: opcional. Valor do tipo STRING. Especifique o método usado para processar chaves duplicadas. Valores válidos:
exception: retorna um erro.
last_win: a chave posterior sobrescreve a anterior.
Você também pode especificar o parâmetro
odps.sql.map.key.dedup.policyno nível da sessão para configurar o método de processamento de chaves duplicadas. Por exemplo, definaodps.sql.map.key.dedup.policycomo exception. Se você não especificar esse parâmetro, o valor padrão last_win será usado.NotaO MaxCompute determina a implementação do comportamento com base em mapDupKeyPolicy. Se você não especificar mapDupKeyPolicy, o valor de
odps.sql.map.key.dedup.policyserá usado. a e b: obrigatórios. Especificam maps. As chaves dos maps devem ser do mesmo tipo de dados, e os valores dos maps também devem ser do mesmo tipo de dados.
KeVemmap<K, V>representam as chaves e os valores de um map.
Valor de retorno
Retorna um valor do tipo MAP. O valor de retorno varia de acordo com as seguintes regras:
Se um map for null ou a chave de um map for null, a função retorna
nullou um erro.Se os tipos de dados de múltiplos maps forem diferentes, a função retorna um erro.
Exemplos
-- The return value is {1:a, 2:b, 3:c}.
select map_concat(map(1, 'a', 2, 'b'), map(3, 'c'));
-- The return value is {1:a, 2:d, 3:c}.
select map_concat('last_win', map(1, 'a', 2, 'b'), map(3, 'c'), map(2, 'd'));
Funções relacionadas
MAP_CONCAT é uma função de tipo complexo. Para mais informações sobre as funções usadas para processar dados de tipos complexos, como ARRAY, MAP, STRUCT e JSON, selecione e configure conforme necessário, e consulte Complex type functions.