All Products
Search
Document Center

MaxCompute:ARRAY_INTERSECT

Last Updated:Jul 02, 2025

Menghitung irisan dari dua array dan mengembalikan array baru yang berisi nilai-nilai yang ada di kedua array. Topik ini menjelaskan sintaks, parameter, dan contoh penggunaan fungsi ARRAY_INTERSECT.

Sintaks

array<T> array_intersect(array<T> <a>, array<T> <b>) 

Parameter

a dan b: Wajib. Parameter ini menentukan array. T dalam array<T> menentukan tipe data elemen-elemen dalam array. Elemen-elemen dapat berupa tipe data apa pun. Elemen-elemen dalam Array a dan Array b harus memiliki tipe data yang sama.

Nilai kembali

Nilai dengan tipe ARRAY dikembalikan. Nilai kembali bervariasi berdasarkan aturan berikut:

  • Jika sebuah elemen dalam array adalah null, elemen null tersebut terlibat dalam operasi.

  • Array yang dikembalikan tidak memiliki elemen duplikat, dan elemen-elemen diurutkan dalam urutan yang sama seperti Array a.

  • Jika Array a atau Array b adalah null, maka null dikembalikan.

Contoh

  • Contoh 1: Hitung irisan dari array(1, 2, 3) dan array(1, 3, 5), serta hapus elemen duplikat. Pernyataan sampel:

    -- Nilai kembali adalah [1,3]. 
    select array_intersect(array(1, 2, 3), array(1, 3, 5));
  • Contoh 2: Hitung irisan dari array(10, 20, 20, 30, 30, null, null) dan array(30, 30, 20, 20, 40, null, null), serta hapus elemen duplikat. Pernyataan sampel:

    -- Nilai kembali adalah [20,30,null]. 
    select array_intersect(array(10, 20, 20, 30, 30, null, null), array(30, 30, 20, 20, 40, null, null)); 

Fungsi terkait

ARRAY_INTERSECT adalah 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.