CASE ifadesi koşullardan geçer ve ilk koşul karşılandığında bir değer döndürür (if-then-else koşulu gibi). Bu nedenle, bir koşul doğru olduğunda, okumayı durduracak ve sonucu döndürecektir. Hiçbir koşul doğru değilse, ELSE ifadesindeki değeri döndürür.
ELSE kısmı yoksa ve hiçbir koşul doğru değilse, NULL değeri döndürür.
CASE Syntax
CASE
WHEN koşul1 THEN sonuç1
WHEN koşul2 THEN sonuç2
WHEN koşul3 THEN sonuç3
ELSE sonuç
END;
Code language: SQL (Structured Query Language) (sql)
CASE Örneği
SELECT OrderID, Quantity,
CASE
WHEN Quantity > 10 THEN 'miktar 10 dan buyuk'
WHEN Quantity = 10 THEN 'miktar 10 a esit'
ELSE 'miktar 10 dan kucuk'
END AS QuantityText
FROM OrderDetails;
Code language: SQL (Structured Query Language) (sql)
Aşağıdaki SQL kodu, müşterileri şehre göre sıralayacaktır. Ancak, şehir NULL ise Ülkeye göre sıralar:
SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
WHEN City IS NULL THEN Country
ELSE City
END);
Code language: SQL (Structured Query Language) (sql)