View a markdown version of this page

Fungsi ARRAY_EXCEPT - Amazon Redshift

Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog yang diterbitkan pada 30 Juni 2025.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Fungsi ARRAY_EXCEPT

Mengembalikan perbedaan antara dua array dengan menjaga elemen dari array pertama yang tidak ada di array kedua. Fungsinya adalah NULL-safe, artinya memperlakukan NULL diperlakukan sebagai objek yang dikenal.

Sintaksis

ARRAY_EXCEPT( array1, array2 [, distinct] )

Argumen

susunan1

Ekspresi SUPER yang menentukan array pertama.

susunan2

Ekspresi SUPER yang menentukan array kedua.

berbeda

Nilai boolean yang menentukan apakah akan mengembalikan elemen yang berbeda saja:

  • distinct = SALAH: Multi-set semantik berlaku. Setiap kejadian elemen dalam array pertama dicocokkan dengan kejadian di array kedua. Jika array pertama memiliki lebih banyak kemunculan elemen daripada array kedua, kejadian ekstra dipertahankan dalam hasilnya.

  • distinct = TRUE: Setel semantik berlaku. Kedua array diperlakukan sebagai set, mengabaikan elemen duplikat. Elemen dari array pertama dihapus jika ada di mana saja di array kedua, terlepas dari jumlah kejadian.

Defaultnya adalah FALSE.

Jenis pengembalian

Fungsi ARRAY_EXCEPT mengembalikan tipe SUPER.

Contoh

Contoh berikut menunjukkan fungsi ARRAY_EXCEPT.

SELECT ARRAY_EXCEPT(ARRAY('a','b','c'), ARRAY('b','c','d')); array_except -------------- ["a"] (1 row)

Multi-set semantik:

SELECT ARRAY_EXCEPT(ARRAY('b','b','b','b'), ARRAY('b','b')); array_except -------------- ["b","b"] (1 row)

Tetapkan semantik:

SELECT ARRAY_EXCEPT(ARRAY('a','b','b'), ARRAY('b'), TRUE); array_except -------------- ["a"] (1 row)

NULL diperlakukan sebagai objek yang dikenal.

SELECT ARRAY_EXCEPT(ARRAY('a',NULL), ARRAY(NULL)); array_except -------------- ["a"] (1 row)

Lihat juga