MSSQL üzerinde kullandığımız sorgu komutlarını ilk olarak if else olarak öğrenmiş ve böyle kullanmaktaydık. If else yerine daha kısa ve pratik olarak kullanılan Case When Then komutunu bu yazımızda sizler ile paylaşıyoruz.  Örnekler ile terimleri açıklayarak anlaşılmakta daha rahatlık çekeceğinizi düşünüyorum.

Öncelikle kullanacağımız tablonuun sütunları ve verilerini sizinle paylaşıyorum.

select
Baslik,Aciklama
from Icerik

Bu komutumuz bize Icerik tablosundaki Başlık ve Açıklama sütunlarını getirir. Gelelim Case When Then komutunun kullanımının nasıl olduğunu göstermeye;
Case: Kontrolü yapacak sütundur.
When: Karşılaştırılacak değerdir.
Then: Şart sağlanırsa geri dönecek olan değerdir.

Select
Baslik,Aciklama,
Case
WHEN Baslik = 'Hayaller Şehri Paris' THEN 'Paris'
END AS 'Kısalt'
From Icerik

Görmüş olduğunuz gibi  ilk kod satırında olduğu gibi Icerik tablosundan Başlık ve Acıklama kısmını aldık, Case içerisinde Başlık  Hayaller Şehri Paris olan satırları aldık ve yeni kolon adı Kısalt olan kolona karşılığı Paris olarak ekledik.

Yapmış olduğumuz işlem aynı if else ‘deki gibi bir uygulamaya sahiptir. Hangi sütunu işleme alacağımız sorgusu yapılıyor, sorgu içerisine giren kolonları alıp ne işlem uygulayacağımızı söylüyoruz. Bu işlemin aynısını sizler de sayısal işlemlerde büyüktür küçüktür gibi değerleri alarak kullanabilirsiniz. Ben yeni kolon oluşturarak yaptım siz yeni kolon istemezseniz end komutundan sonra as ‘kısalt’ komutunu yazmanıza gerek yok.