Transact Sql(COALESCE – ISNULL – NULLIF)
Bu yazımda da Transact sql de Coalesce,isnull ve nullif komutlarından bahsedeceğim.
COALESCE – ISNULL – NULLIF
Eğer tablolarımızda “Null” değerler var ise ilerde bunlar başımızı ağrıtabilirler.Özellikle raporlamada sıkıntı çıkarabiliyorlar.Eğer kayıt içinde “Null” varsa onun yerine şunu yaz gibisinden bir ifade kullanmamız mümkündür.Bu işlem çeşitli yollarla yapılabilir.
1- Case kullanarak,
select SirketAdi,case when Bolge is null then 'Tanımsız' else Bolge end from Musteriler
2- Coalesce kullanarak,
select SirketAdi,coalesce(Bolge,'Tanımsız') from Musteriler
3- Isnull kullanarak,
select SirketAdi,ISNULL(Bolge,'Tanımsız') from Musteriler
4- Nullif kullanarak,
Eğer kolondaki bir kayıt, verdiğim değere eşit ise, onun yerine NULL yazar.
Şimdi aşağıdaki örnekleri inceleyiniz,
Ürünlerimin HedefStokDuzeyi ortalamasını alalım,
select AVG(HedefStokDuzeyi) from Urunler
Peki
HedefStokDuzeyi 0(sıfır) olmayan ürünlerimin ortalaması nedir?
select AVG(nullif(HedefStokDuzeyi,0)) from Urunler
nullif(HedefStokDuzeyi,0) = HedefStokDuzeyi 0 olanların değerini Null yap.
