IsNull( ) Fonksiyonu

  • 28.09.2010 17:21
  • SQL
  • 20238

Sql Serverda kullanilan ISNULL fonksiyonunun islevini anlatan bir makaledir. IsNull fonksiyonu kendisine parametre olarak verilen degeri kontrol eder. Egere parametre olarak aldigi deger null bir degerse, yine kendisine ikinci bir parametre olarak verilen degeri döner.

ISNULL Fonksiyonunun Kullanimi:
ISNULL(Kontrol Edilecek Deger,Eger Kontrol Edilecek Deger Null ise Geri Dönecek Olan Deger)
 
ISNULL() Fonksiyonunun kullanim alani genistir. Sadece bir deger de verebilirsiniz, isterseniz yaptiginiz bir sorgunun içerigini de kontrol edebilirsiniz.
 
Örnek olarak asagidaki gibi bir ürün tablomuz oldugunu varsayalim.
 

fldUrunAdi fldKategorisi fldAltKategorisi
Nokia 5310 1 2
Asus F3Z5 4 3
IPhone Null 3
Mouse 4 Null


Örnek1:
Yukaridaki tabloda Kategori ve AltKategori kolonlari baska bir tablodaki Kategori ve AltKategoriAdlarini göstermektedir.Yazacagimiz sorguda
Kategori ve AltKategori adlarini baska bir tablodan çekecegiz ve eger bu alanlardan herhangi biri bos dönerse Kategori Yok veya Alt Kategori Yok gibi
bir deger dönmesini saglayacagiz.Asagidaki sorguyu inceleyelim:

 

Select   fldUrunAdi,

         ISNULL((Select K.fldKategoriAdi From tblKategori K Where K.fldKategoriId=fldKategoriId),'Kategori Yok') KategoriAdi,

         ISNULL((Select AK.fldAltKategoriAdi From tblAltKategori AK Where AK.fldAltKategoriId=fldAltKategoriId),'Alt Kategori Yok') AltKategoriAdi

From     tblUrun


Yukaridaki sorguyu execute ettigimizde, tblUrun tablosundan fldUrunAdi' ni alacak, daha sonra fldKategori kolonunu alacak ve tblKategori tablosunda bu
id' ye esit bir deger olup olmadigina bakacak. Eger id' ye esit olan bir deger varsa bu degeri alacak. Yoksa 'Kategori Yok' diye bir deger dönecek. Ayni islemi
Alt Kategori kolonu için de yapacak.Çalistirdigimiz sorgunun cevabi asagida:

 

 

fldUrunAdi fldKategorisi fldAltKategorisi
Nokia 5310 Elektronik Telefon
Asus F3Z5 Elektronik Dizüstü Bilgisayar
IPhone Kategori Yok Alt Kategori Yok
Mouse Elektronik Alt Kategori Yok

 


 

Örnek 2:
Yine ürün tablomuzu  örnek alarak asagidaki sorguyu inceleyelim:

Select   fldUrunAdi,

         ISNULL(fldKategorisi,'Bos Kategori'),

         ISNULL(fldAltKategorisi,'Bos Alt Kategori')

From     tblUrun

 


Örnek2 de yazdigimiz sorgunun cevabi:

 

fldUrunAdi fldKategorisi fldAltKategorisi
Nokia 5310 1 2
Asus F3Z5 4 3
IPhone Bos Kategori 3
Mouse 4 Bos Alt Kategori


Bu sorgunun anlasilmasi daha kolay.Urun tablosundan urunleri çekecek. Çektigi degerleri kontrol edecek. Eger fldKategorisi hücresi Null ise 'Bos Kategori' degerini dönecek.Ayni islemi fldAltKategorisi için de yapacak.Böylece ISNULL fonksiyonunu kullanarak Null bir deger varsa düzenliyoruz ve olasi bir cast isleminde veya,
herhangi bir islemimizde meydana gelebilecek hatalarin önüne geçmis oluyoruz.

 

Siz de düşüncelerinizi yazabilirsiniz:

;