Menggabungkan beberapa peta menjadi satu.
Sintaksis
map<K, V> map_concat([string <mapDupKeyPolicy>,] map<K, V> <a>, map<K, V> <b>[,...])Parameter
mapDupKeyPolicy: Opsional. Nilai bertipe STRING. Parameter ini menentukan metode untuk memproses kunci duplikat. Nilai yang valid:
exception: Kesalahan telah dikembalikan.
last_win: Kunci terakhir menimpa kunci sebelumnya.
Anda juga dapat menentukan parameter
odps.sql.map.key.dedup.policypada tingkat sesi untuk mengonfigurasi metode pemrosesan kunci duplikat. Sebagai contoh, Anda dapat menyetelodps.sql.map.key.dedup.policyke exception. Jika parameter ini tidak ditentukan, nilai default last_win akan digunakan.CatatanPerilaku MaxCompute ditentukan berdasarkan mapDupKeyPolicy. Jika mapDupKeyPolicy tidak ditentukan, nilai dari
odps.sql.map.key.dedup.policyakan digunakan.a dan b: Wajib. Parameter ini menentukan peta. Kunci dari peta harus memiliki tipe data yang sama, dan nilai dari peta juga harus memiliki tipe data yang sama. Dalam notasi
map<K, V>,KdanVmasing-masing menentukan kunci dan nilai dari sebuah peta.
Nilai pengembalian
Nilai bertipe MAP dikembalikan. Nilai pengembalian bergantung pada aturan berikut:
Jika sebuah peta adalah null atau kunci dari peta adalah null,
nullatau kesalahan akan dikembalikan.Jika tipe data dari beberapa peta berbeda, kesalahan akan dikembalikan.
Contoh
-- Nilai pengembalian adalah {1:a, 2:b, 3:c}.
select map_concat(map(1, 'a', 2, 'b'), map(3, 'c'));
-- Nilai pengembalian adalah {1:a, 2:d, 3:c}.
select map_concat('last_win', map(1, 'a', 2, 'b'), map(3, 'c'), map(2, 'd'));Fungsi terkait
MAP_CONCAT merupakan fungsi tipe kompleks. Untuk informasi lebih lanjut tentang fungsi-fungsi yang digunakan untuk memproses data dari tipe data kompleks seperti ARRAY, MAP, STRUCT, dan JSON, lihat Fungsi Tipe Kompleks.