Sql kayıtları üzerinde dönen değer ile bazı ufak düzenlemeler yapmak gerekebilir. Örn askerlik durumu için 0/1 verisini kaydederken çekilen verininde askerlik yaptı/yapmadı şekilde görünmesini isteyebiliriz. Bu gibi sorgulamalar için select case komutu karşımıza çıkmaktadır. Aşağıda birkaç select case örneği kullanımını inceleyebilirsiniz.
Select case kullanırken dikkat edilecek en önemli nokta ise bütün case ifadelerindeki dönüş değerlerinin aynı veri tipinde olması gerektiğidir.
CASE İfadesi Örnekleri
–Kitapları sayfa sayısına göre 100 sayfadan az ise ince,300 sayfadan fazla ise kalın, arasında ise orta yazssın
1 2 3 4 5 6 |
select kitapadi,sayfasayisi,case when sayfasayisi<100 then 'İnce' when sayfasayisi>300 then 'KALIN' --when ekranda ne gözükmesini istersek kullnırız else 'orta' end from kitap |
–ÖĞRENCİLERİN ADI SOYADI VE BAŞKA BİR ALANDA DOĞUM TARİHİNE GORE HANGİ MEVSİMDE DOĞDUĞU YAZSSIN
1 2 3 4 5 6 7 |
select ograd,ogrsoyad,dtarih,case when month(dtarih) in (1,2,3) then 'kış' when month(dtarih) in(4,5,6) then 'ilkbahar' when month(dtarih) in(7,8,9) then 'yaz' else 'sonbahar' end from ogrenci |
–KITABIN ADINI VE PUANINI LİSTELEYECEK,PUAN 20DEN AZ İSE DÜŞÜK PUAN ,FAZLA İSE KAÇ PUAN İSE 0 YAZSIN STR FONKSİYONU KULLANILACAK
1 2 3 4 5 |
select kitapadi,puan,case when puan<20 then 'düşük puan' else str(puan) end from kitap --str fonksiyonu puanı stringe çevirerek ekranda yazar |
Örnekler cok güzel tesekurler