Fungsi ARRAY_CONTAINS - Amazon Redshift

Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai Patch 198. Python yang ada UDFs akan terus berfungsi hingga 30 Juni 2026. Untuk informasi lebih lanjut, lihat posting blog.

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

Fungsi ARRAY_CONTAINS

Memeriksa apakah array berisi nilai yang diberikan dan mengembalikan TRUE jika ditemukan.

Sintaksis

ARRAY_CONTAINS( array, value [, null_match] )

Argumen

array

Ekspresi SUPER yang menentukan array untuk mencari.

nilai

Sebuah nilai yang menentukan elemen untuk mencari.

null_match

Sebuah nilai boolean yang menentukan bagaimana nilai-nilai NULL ditangani:

  • null_match = FALSE: Mencari NULL mengembalikan NULL. Jika array berisi nilai NULL dan tidak ada kecocokan ditemukan untuk nilai pencarian non-NULL, mengembalikan NULL.

  • null_match = TRUE: diperlakukan sebagai elemen NULLs yang valid dan dapat dicari. Jika array berisi nilai NULL dan tidak ada kecocokan ditemukan untuk nilai pencarian non-NULL, ia mengembalikan FALSE.

Defaultnya adalah BETUL.

Penanganan NULL default juga dapat ditentukan oleh opsi konfigurasi:

-- same as null_match = TRUE SET default_array_search_null_handling to TRUE;

Jenis pengembalian

Fungsi ARRAY_CONTAINS mengembalikan tipe BOOLEAN.

Contoh

Contoh berikut menunjukkan fungsi ARRAY_CONTAINS.

SELECT ARRAY_CONTAINS(ARRAY('red', 'green'), 'red'); array_contains ---------------- t (1 row)

Contoh berikut menunjukkan perilaku fungsi dengan null_match disetel ke TRUE.

SET default_array_search_null_handling to TRUE; -- NULL search is enabled SELECT ARRAY_CONTAINS(ARRAY('red', NULL, 'green'), NULL); array_contains ---------------- t (1 row) -- The array can contain NULLs SELECT ARRAY_CONTAINS(ARRAY('red', NULL, 'green'), 'blue', TRUE); array_contains ---------------- f (1 row)

Contoh berikut menunjukkan perilaku fungsi dengan null_match disetel ke FALSE. Perhatikan bahwa menentukan perilaku null_match dalam fungsi akan mengganti pengaturan konfigurasi default.

-- same as null_match = TRUE SET default_array_search_null_handling to TRUE; -- NULL search is disabled. The default behavior is overridden SELECT ARRAY_CONTAINS(ARRAY('red', 'green'), NULL, FALSE); array_contains ---------------- (1 row) -- same as null_match = FALSE SET default_array_search_null_handling to FALSE; -- The array contains NULL and a match is found SELECT ARRAY_CONTAINS(ARRAY('red', NULL, 'green'), 'green'); array_contains ---------------- t (1 row) -- The array contains NULL but no match is found SELECT ARRAY_CONTAINS(ARRAY('red', NULL, 'green'), 'blue'); array_contains ---------------- (1 row)

Lihat juga