SQL CASE komutu koşullardan oluşur ve ilk koşul karşılandığında bir değer döndürür. Bir koşul doğru olduğunda, okumayı durdurur ve sonucu gösterir. Hiçbir koşul doğru değilse, ELSE(yoksa) koşulundaki değeri döndürür.
SQL CASE Kullanımı:
CASE
WHEN koşul1 THEN sonuç1
WHEN koşul2 THEN sonuç2
WHEN koşulN THEN sonuçN
ELSE sonuç
END;
NOT: Yukarıda anlaşılır olması için türkçe karakter kullanılmıştır.Kod yazımlarında Türkçe karakter kullanmayınız.
UrunID |
UrunAdi |
Adet |
Fiyat |
TedarikYeri |
1 |
Süt |
23 |
115 |
Kütahya |
2 |
Su |
46 |
46 |
Bursa |
3 |
Meşrubat |
18 |
90 |
İzmir |
4 |
Bal |
5 |
200 |
Muğla |
5 |
Kola |
28 |
112 |
Afyon |
Örnek tablo üzerinde deneyelim.
Aşağıdaki SQL koşulları tablo üzerinde geçerlidir ve koşul karşılandığında bir değer gösterir.
SELECT UrunID, Adet,
CASE
WHEN Adet > 30 THEN 'Adet 30’dan fazladır'
WHEN Adet = 30 THEN '30 Adet vardır.'
ELSE 'Urun Adeti 30’dan az'
END AS UrunNotu
FROM SiparisDetay;
Aşağıdaki SQL müşterileri şehre göre sıralayacaktır. Ancak, Şehir Null ise, İsme göre sırala:
SELECT Ad, Sehir, Ulke
FROM Musteriler
ORDER BY
(CASE
WHEN Sehir IS NULL THEN Ulke
ELSE Sehir
END);
İçerik: Yusuf Erdoğan