All Products
Search
Document Center

MaxCompute:ARRAY_EXCEPT

Last Updated:Jul 02, 2025

Mengembalikan elemen-elemen yang ada di dalam Array a tetapi tidak ada di dalam Array b sebagai array baru tanpa duplikat.

Sintaksis

array<T> array_except(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, namun elemen-elemen dalam Array a dan Array b harus memiliki tipe data yang sama.

Nilai kembali

Nilai dengan tipe ARRAY dikembalikan. Nilai kembali mengikuti aturan berikut:

  • Array yang dikembalikan tidak memiliki elemen duplikat, dan elemen-elemen diurutkan sesuai urutan Array a.

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

  • Jika salah satu array input kosong, array baru dikembalikan berdasarkan array yang tidak kosong tanpa duplikat.

  • Jika kedua array input kosong, array kosong dikembalikan.

Contoh

  • Contoh 1: Cari elemen-elemen yang ada di dalam array(1, 1, 3, 3, 5, 5) tetapi tidak ada di dalam array(1, 1, 2, 2, 3, 3) dan kembalikan elemen-elemen tersebut sebagai array baru tanpa duplikat. Contoh pernyataan:

    -- Nilai kembali adalah [5]. 
    select array_except(array(1, 1, 3, 3, 5, 5), array(1, 1, 2, 2, 3, 3));
  • Contoh 2: Cari elemen-elemen yang ada di dalam array(1, 1, 3, 3, 5, 5, null, null) tetapi tidak ada di dalam array(1, 1, 2, 2, 3, 3) dan kembalikan elemen-elemen tersebut sebagai array baru tanpa duplikat. Contoh pernyataan:

    -- Nilai kembali adalah [5,null]. 
    select array_except(array(1, 1, 3, 3, 5, 5, null, null), array(1, 1, 2, 2, 3, 3));
  • Contoh 3: Cari elemen-elemen yang ada di dalam sebuah array tetapi tidak ada di dalam array lain dan kembalikan elemen-elemen tersebut sebagai array baru tanpa duplikat. Salah satu array input kosong. Contoh pernyataan:

    -- Nilai kembali adalah [2,1]. 
    select array_except(array(2, 1, 1, 2), cast(array() as array<int>)); 
  • Contoh 4: Cari elemen-elemen yang ada di dalam sebuah array tetapi tidak ada di dalam array lain dan kembalikan elemen-elemen tersebut sebagai array baru tanpa duplikat. Kedua array input kosong. Contoh pernyataan:

    -- Nilai kembali adalah []. 
    select array_except(cast(array() as array<int>), cast(array() as array<int>));

Fungsi terkait

ARRAY_EXCEPT 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.