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 dalamarray(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 dalamarray(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.