CASE (simple)
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. KlausaELSE
else_result 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 dievaluasi. Jika semua kondisi WHEN
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