Ms Sql Case When Kullanımı
Ms Sql 'de CASE WHEN yapısı genellikle diğer kolonlardaki veya değişkenlerdeki değerlere bağlı olarak bir kolonun değerini ayarlamak için kullanılır.
WHEN değerinden sonra TRUE olan değer yazılır ve en az bir adet WHEN değeri olmalıdır.
Aşağıdaki ILLER isimli tablomuzu inceleyelim..
SEHIR | NUFUS_MILYON |
---|---|
İstanbul | 18 |
Bursa | 3.0 |
Ankara | 5.5 |
İzmir | 4.5 |
Adana | 2.0 |
Erzurum | 0.8 |
Konya | 1.6 |
Sinop | 0.3 |
Sorgumuzda NUFUS_MILYON kolonumuza göre kendi yaratacağımız koşullardan oluşan yeni bir kolon göstermek için CASE WHEN yapısını kullanacağız.
SELECT SEHIR,NUFUS_MILYON,
CASE
WHEN NUFUS_MILYON > 10 THEN 'Mega Şehir'
WHEN NUFUS_MILYON > 1.5 THEN 'Büyük Şehir'
WHEN NUFUS_MILYON > 0.5 THEN 'Orta B.Şehir'
WHEN NUFUS_MILYON > 0.1 THEN 'Küçük Şehir'
END AS SEHIR_DURUM
FROM ILLER
Yazdığımız sorguda SEHIR_DURUM isminde yeni bir kolon yarattık (tabloda fiziksel olarak yaratılmadı sadece sorguda göstermek için) ve CASE WHEN yapısındaki koşullarımıza göre bu kolonda değerler gösterdik.
Sorgunun bize döndüreceği sonuç aşağıdaki gibi olacaktır.
SEHIR | NUFUS_MILYON | SEHIR_DURUM |
---|---|---|
İstanbul | 18 | Mega Şehir |
Bursa | 3.0 | Büyük Şehir |
Ankara | 5.5 | Büyük Şehir |
İzmir | 4.5 | Büyük Şehir |
Adana | 2.0 | Büyük Şehir |
Erzurum | 0.8 | Orta B.Şehir |
Konya | 1.6 | Büyük Şehir |
Sinop | 0.3 | Küçük Şehir |