Sql Server da kullanışlı bir fonksiyon olan Case fonksiyonu ile ilgili küçük bir örnek yapacağım. tblmusteri adinda bir table`ımız olduğunu ve bunun da id (auotincrement), musterino , isim , adress ve il kolonlarının bulunduğunu düşünelim, il kolonu integer türünde ve biz bu kolonun varchar yani string olarak değerini görmek istiyoruz. İşte burda Case bize çok uygun bir yapı sağlar.
select * from tblmusteri WITH (NOLOCK) dediğimizde bizim karşımıza gelecek data aşağıdaki gibidir.
1 1001 Erkan Sezer Kadıkoy 34
7 1002 Mehmet Dal Ermenek 70
3 1003 Aynur Guney Ermenek 70
4 1004 Muhammet Ali Hancer Cekmekoy 34
5 1005 Yavuz Selim Keresteci Goztepe 34
Peki ben bu il kolonunu nasil string yaparım? Select ifademi aşağıdaki gibi değiştirirsem bana ilisim isminde bir kolon daha gelecektir ve burda da il isimlerinin yazdığını göreceğiz. Peki select ifademde ne yaptığımı kısaca anlatacak olursak; gelen il değerine bakıldı ve bu değer 34 ise İstanbul , 70 ise Karaman olarak ilisim kolonuna getirildi. Bu yapı çok kullanışlıdır ve bize çoğu zaman çok kısa çözüm yolları sunar. Select ifademiz ve gelen yeni data ağağıdaki gibidir.
SELECT *
CASE il
WHEN `34` THEN `İstanbul`
WHEN `70` THEN `Karaman` END
AS ilisim
FROM tblmusteri WITH (NOLOCK)
1 1001 Erkan Sezer Kadıkoy 34 İstanbul
7 1002 Mehmet Dal Ermenek 70 Karaman
3 1003 Aynur Guney Ermenek 70 Karaman
4 1004 Muhammet Ali Hancer Cekmekoy 34 İstanbul
5 1005 Yavuz Selim Keresteci Goztepe 34 İstanbul