複数のマップの和集合を計算します。
構文
map<K, V> map_concat([string <mapDupKeyPolicy>,] map<K, V> <a>, map<K, V> <b>[,...])パラメーター
mapDupKeyPolicy: オプション。 STRING型の値。 このパラメーターは、重複キーの処理に使用されるメソッドを指定します。 有効な値:
exception: エラーが返されます。
last_win: 後者のキーは前者のキーを上書きします。
セッションレベルで
odps.sql.map.key.de dup.policyパラメーターを指定して、重複キーの処理に使用されるメソッドを構成することもできます。 たとえば、odps.sql.map.key.de dup.policyを例外に設定できます。 このパラメーターを指定しない場合、デフォルト値last_winが使用されます。説明MaxComputeの動作実装は、mapDupKeyPolicyに基づいて決定されます。 mapDupKeyPolicyを指定しない場合、
odps.sql.map.key.de dup.policyの値が使用されます。aおよびb: 必須。 これらのパラメータはマップを指定する。 マップのキーは同じデータ型である必要があり、マップの値は同じデータ型である必要があります。
map<K, V>のKとVは、マップのキーと値を指定します。
戻り値
MAPタイプの値が返されます。 戻り値は、次のルールによって異なります。
マップがnullまたはマップのキーがnullの場合、
nullまたはエラーが返されます。複数のマップのデータ型が異なる場合、エラーが返されます。
例
-- 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'));関連関数
MAP_CONCATは、複合型関数である。 ARRAY、MAP、STRUCT、JSONなどの複雑なデータ型のデータを処理するために使用される関数の詳細については、複合型関数.