CASE
sederhana menampilkan hasil berdasarkan nilai satu ekspresi input, atau hasil default jika tidak ada nilai perbandingan yang cocok.
Lihat juga: IF.
Contoh penggunaan
Mengganti kode pembayaran dengan nama yang mudah dikenali:
CASE Payment Type WHEN "CC" THEN "Credit Card" WHEN "DC" THEN "Debit Card" WHEN "GC" THEN "Gift Card" WHEN "CA" THEN "Cash" ELSE "Other" END
Sintaks
CASE input_expression WHEN expression_to_match THEN result [WHEN expression_to_match THEN result] [...] [ELSE else_result] END
Parameter
input_expression
- Kolom atau ekspresi yang valid.- [
expression_to_match
- Kolom atau ekspresi yang valid. KlausaWHEN
membandingkaninput_expression
denganinput_expression
dan menampilkan benar jika keduanya sama, atau salah jika tidak sama.]{#when-conditions} result
- Kolom atau ekspresi yang valid. Setiap klausaWHEN
harus memiliki klausaTHEN
yang cocok, yang menentukan hasil yang akan ditampilkan jika kondisi tersebut benar. Jika ada beberapa klausaWHEN
, pernyataanCASE
akan menampilkan hasil untuk klausa benar yang pertama.else_result
(opsional) - Kolom atau ekspresi yang valid. Klausa else_resultELSE
menentukan hasil default untuk pernyataanCASE
. Klausa ini ditampilkan jika tidak ada klausaWHEN
yang benar. Jika pernyataanCASE
tidak memiliki klausaELSE
, dan tidak ada klausaWHEN
yang benar, pernyataanCASE
akan menampilkanNULL
.
Cara kerja CASE
sederhana
Pernyataan CASE
sederhana terdiri dari elemen berikut:
- Kata kunci
CASE
, diikuti dengan ekspresi input. WHEN
: nilai yang akan dibandingkan denganinput_expression
: jika nilai sama denganinput_expression
, berarti klausa ini benar. Anda dapat memiliki beberapa klausaWHEN
dalam satu pernyataanCASE
.THEN
: hasil yang akan ditampilkan jika kondisi klausaWHEN
benar. Anda harus memiliki satu klausaTHEN
untuk setiap klausaWHEN
dalam pernyataanCASE
.ELSE
: Opsional. Jika tidak ada kondisi klausaWHEN
yang benar,CASE
akan menampilkan nilai dalam klausaELSE
, atauNULL
jika tidak ada klausaELSE
yang ditentukan.- Kata kunci
END
.
CASE
mengevaluasi setiap klausa WHEN
yang berurutan dan menampilkan hasil pertama yang kondisinya benar. Klausa WHEN
yang tersisa dan hasil ELSE
tidak akan dievaluasi. Jika semua kondisi WHEN
bernilai salah atau NULL
, CASE
akan menampilkan hasil ELSE
, atau jika tidak ada klausa ELSE
, NULL
akan ditampilkan.
Contoh
Memberikan link yang disesuaikan untuk pelanggan premium Anda:
CASE Premium Status WHEN "Platinum" THEN CONCAT(Site URL, "platinum_welcome.html") WHEN "Gold" THEN CONCAT(Site URL, "gold_welcome.html") WHEN "Silver" THEN CONCAT(Site URL, "silver_welcome.html") ELSE CONCAT(Site URL, "welcome.html") END