Pernyataan CASE
digunakan untuk melewati kondisi dan mengembalikan nilai saat kondisi pertama terpenuhi (seperti pernyataan IF-THEN-ELSE). Jadi, begitu suatu kondisi benar, maka akan berhenti membaca dan mengembalikan hasilnya.
Jika tidak ada kondisi yang benar, maka akan mengembalikan nilai dalam klausa ELSE.
Jika tidak ada bagian ELSE dan tidak ada kondisi yang benar, akan mengembalikan NULL.
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN conditionN THEN resultN
ELSE result
END;
Parameter | Deskripsi |
---|---|
condition1, condition2, …conditionN | Required. Syaratnya. Ini dievaluasi dalam urutan yang sama seperti yang tercantum |
result1, result2, …resultN | Required. Nilai yang akan ditampilkan setelah kondisi benar |
Works in: | Mulai dari MySQL 4.0 |
---|
Contoh
Pergi melalui kondisi dan kembalikan nilai saat kondisi pertama terpenuhi:
SELECT OrderID, Quantity, CASE WHEN Quantity > 45 THEN "Kuantitasnya lebih besar dari 45" WHEN Quantity = 45 THEN "Kuantitasnya adalah 45" ELSE "Kuantitasnya kurang dari 45" END FROM OrderDetails;
Contoh
SQL berikut akan mengurutkan customer berdasarkan Kota. Namun, jika kota adalah NULL, maka urutkan berdasarkan Negara:
SELECT NamaCustomer, Kota, Negara FROM Customers ORDER BY (CASE WHEN Kota IS NULL THEN Negara ELSE Kota END);