Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
notIn
notIn
mengevaluasi jika ekspresi ada dalam daftar literal. Jika daftar tidak berisi ekspresi, notIn
mengembalikan true, dan jika tidak maka mengembalikan false. notIn
peka huruf besar/kecil untuk input tipe string.
notIn
menerima dua jenis daftar literal, satu secara manual dimasukkan daftar dan yang lainnya adalah parameter multivalue.
Sintaks
Menggunakan daftar yang dimasukkan secara manual:
notIn(
expression
,[literal-1, ...]
)
Menggunakan parameter multivalue:
notIn(
expression
, $multivalue_parameter
)
Pendapat
- ekspresi
-
Ekspresi yang akan dibandingkan dengan unsur-unsur dalam daftar literal. Ini bisa berupa nama bidang seperti
address
, nilai literal seperti 'Unknown
', parameter nilai tunggal, atau panggilan ke fungsi skalar lain—asalkan fungsi ini bukan fungsi agregat atau perhitungan tabel. - daftar literal
-
(wajib) Ini bisa berupa daftar yang dimasukkan secara manual atau parameter multivalue. Argumen ini menerima hingga 5.000 elemen. Namun, dalam kueri langsung ke sumber data pihak ketiga, misalnya Oracle atau Teradata, batasannya bisa lebih kecil.
-
daftar yang dimasukkan secara manual - Satu atau lebih nilai literal dalam daftar untuk dibandingkan dengan ekspresi. Daftar harus dilampirkan dalam tanda kurung siku. Semua literal untuk membandingkan harus memiliki tipe data yang sama dengan ekspresi.
-
parameter multivalue — Parameter multivalue yang telah ditentukan sebelumnya diteruskan sebagai daftar literal. Parameter multivalue harus memiliki tipe data yang sama dengan ekspresi.
-
Jenis pengembalian
Boolean:/TRUEFALSE
Contoh dengan daftar yang dimasukkan secara manual
Contoh berikut mengevaluasi origin_state_name
bidang untuk nilai-nilai dalam daftar string. Saat membandingkan input tipe string, notIn
hanya mendukung perbandingan peka huruf besar/kecil.
notIn(origin_state_name,["Georgia", "Ohio", "Texas"])
Berikut ini adalah nilai bidang yang diberikan.
"Washington" "ohio" "Texas"
Untuk nilai bidang ini nilai berikut dikembalikan.
true true false
Nilai pengembalian ketiga adalah false karena hanya “Texas” adalah salah satu nilai yang dikecualikan.
Contoh berikut mengevaluasi fl_date
bidang untuk nilai-nilai dalam daftar string. Untuk mencocokkan jenisnya, toString
digunakan untuk mentransmisikan tipe tanggal ke tipe string.
notIn(toString(fl_date),["2015-05-14","2015-05-15","2015-05-16"])
![Gambar hasil contoh fungsi, ditunjukkan dalam bentuk tabel.](images/notin-function-example-manual-list.png)
Literal dan NULL nilai didukung dalam argumen ekspresi untuk dibandingkan dengan literal dalam daftar. Kedua dari dua contoh berikut akan menghasilkan kolom FALSE nilai baru.
notIn("Washington",["Washington","Ohio"])
notIn(NULL,[NULL,"Ohio"])
Contoh dengan parameter mutivalue
Katakanlah seorang penulis membuat parameter multivalue yang berisi daftar semua nama negara. Kemudian penulis menambahkan kontrol untuk memungkinkan pembaca memilih nilai dari daftar.
Selanjutnya, pembaca memilih tiga nilai — “Georgia”, “Ohio”, dan “Texas” — dari kontrol daftar drop-down parameter. Dalam hal ini, ekspresi berikut setara dengan contoh pertama, di mana ketiga nama negara dilewatkan sebagai daftar literal untuk dibandingkan dengan original_state_name
bidang.
notIn (
origin_state_name
, ${stateName MultivalueParameter}
)
Contoh dengan ifelse
notIn
dapat bersarang di fungsi lain sebagai nilai boolean. Salah satu contohnya adalah bahwa penulis dapat mengevaluasi ekspresi apa pun dalam daftar dan mengembalikan nilai yang mereka inginkan dengan menggunakan notIn
danifelse
. Contoh berikut mengevaluasi apakah penerbangan berada dalam daftar negara bagian AS tertentu dan mengembalikan kategori negara bagian yang berbeda berdasarkan perbandingan. dest_state_name
ifelse(notIn(dest_state_name,
["Washington", "Oregon","California"]
), "notWestCoastUSState
", "WestCoastUSState
")
![Gambar hasil contoh fungsi, ditunjukkan dalam bentuk tabel.](images/notin-function-with-ifelse.png)