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. KlausaWHENmembandingkaninput_expressiondenganinput_expressiondan menampilkan benar jika keduanya sama, atau salah jika tidak sama.]{#when-conditions} result- Kolom atau ekspresi yang valid. Setiap klausaWHENharus memiliki klausaTHENyang cocok, yang menentukan hasil yang akan ditampilkan jika kondisi tersebut benar. Jika ada beberapa klausaWHEN, pernyataanCASEakan menampilkan hasil untuk klausa benar yang pertama.else_result(opsional) - Kolom atau ekspresi yang valid. KlausaELSEelse_result menentukan hasil default untuk pernyataanCASE. Klausa ini ditampilkan jika tidak ada klausaWHENyang benar. Jika pernyataanCASEtidak memiliki klausaELSE, dan tidak ada klausaWHENyang benar, pernyataanCASEakan 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 klausaWHENdalam satu pernyataanCASE.THEN: hasil yang akan ditampilkan jika kondisi klausaWHENbenar. Anda harus memiliki satu klausaTHENuntuk setiap klausaWHENdalam pernyataanCASE.ELSE: Opsional. Jika tidak ada kondisi klausaWHENyang benar,CASEakan menampilkan nilai dalam klausaELSE, atauNULLjika tidak ada klausaELSEyang 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