Veritabanı

SQL Select Case Komutu

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

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

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

select kitapadi,puan,case
when puan<20 then 'düşük puan'
else str(puan) end from kitap --str fonksiyonu puanı stringe çevirerek ekranda yazar

 

1 Yorum

Yorum Yap