16 Aralık 2008 Salı

case when yapısında null değeri kullanmak

SQL Server'da select içinde if benzeri bir yapı kullanmak istiyorsak case when yapısı yardımımıza koşar mesela aşağıdaki ifadeye bakın.
select
case yas
when 5 then 'yas 5'
when 6 then 'yas 6'
else '5 yada 6 Değil'
end yeniyas

Bu durumda yas kolonun değerine göre yeniyas isimli yeni bir kolona değerler verilir. Böyle bir ifadede null değerlerini kontrol etmek istediğinizde şöyle yazarsanız istediğiniz sonucu alamazsınız:
case yas
when null then "değer yok"
else 'değer var'
end yeniyas

Bu durumda kullanmanız gereken yapı şu şekilde olmalıdır.
case
when yas is null then 'değer yok'
else 'değer var'
end yeniyas

Hiç yorum yok: