Statement CASE digunakan untuk melewati kondisi dan mengembalikan nilai saat kondisi pertama terpenuhi (seperti pernyataan IF-THEN-ELSE). Jadi, begitu suatu kondisi benar, itu akan berhenti membaca dan mengembalikan hasilnya. Jika tidak ada kondisi yang benar, ini mengembalikan nilai dalam klausa ELSE.
Jika tidak ada bagian ELSE dan tidak ada kondisi yang benar, maka akan mengembalikan NULL.
CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 WHEN conditionN THEN resultN ELSE result END;
Di bawah ini adalah pilihan dari tabel “OrderDetails” di database contoh Northwind:
IdOrderDetail | IdOrder | IdProduct | Quantity |
---|---|---|---|
1 | 10248 | 11 | 12 |
2 | 10248 | 42 | 10 |
3 | 10248 | 72 | 5 |
4 | 10249 | 14 | 9 |
5 | 10249 | 51 | 40 |
SQL berikut ini akan melewati kondisi dan mengembalikan nilai saat kondisi pertama terpenuhi:
Contoh
SELECT IdOrder, Quantity, CASE WHEN Quantity > 30 THEN 'Quantitynya lebih besar dari 30' WHEN Quantity = 30 THEN 'Quantitynya 30' ELSE 'Quantitynya kurang dari 30' END AS QuantityText FROM OrderDetails;
SQL berikut akan mengurutkan pelanggan berdasarkan Kota. Namun, jika Kota adalah NULL, maka urutkan berdasarkan Negara:
Contoh
SELECT NamaCustomer, Kota, Negara FROM Customers ORDER BY (CASE WHEN Kota IS NULL THEN Negara ELSE Kota END);