Divide By Zero Hatası

Merhabalar,

Özellikle SP içerisinde olan bir kod bloğunun bu hatayı alması,paketin başarılı olarak tamamlanmasını engellemektedir.

Bu yazıda ise,bölen parametrenin “sıfır” gelmesi ihtimaline karşı nasıl bir önlem alabilirizi araştırıyor olacağız..

Öncelikle benzer bir senaryo hazırlıyoruz;

Bir tablo oluşturuyoruz ve içinde sadece isim ve cinsiyet bilgilerini
tutuyoruz.

bolum1

Daha sonra içine bir kaç veri girdikten sonra erkek ve kadın sayılarını almak üzere bir script ile devam ediyoruz ;

bolum2

Bu kısımda erkek ve kadınlar için birer temp tablo daha açıp eğer istediğimiz filtre de veri varsa sayısını aldırıp yoksa “NULL” yazdırıyoruz.

3.adımda ise matematiksel işlem yaptırmak istediğimizden tabloda veri varsa almasını eğer  NULL ise “sıfır” atayıp bunu değişkenlere eşitleyip bölme işlemini gerçekleştiriyoruz ;

bolum3

Senaryomuzda hiçbir kadın çalışan olmadığı için erkek/kadın oranını alamayan kod bloğu hata alıp çalışmayı durdurmaktadır. Fakat biz çalışmaya devam etmesini istiyoruz ve bu hatadan kurtulmak için NULLIF() fonksiyonunu kullanıyoruz ;

bolum4.PNG

NULLIF () fonksiyonu içine girilen parametreler birbirine eşitse “NULL” değer döndürür. Son olarak ISNULL(KAF,0) bize “sıfır” değerini döndürdüğünden ve de 2.parametre olarak 0’ı kontrol ettirdiğimizden değer olarak “NULL” döndürerek kod bloğunun çalışmasına devam etmesini sağlamıştır.

NOT: Eğer ilk parametre ile ikinci parametre farklı olsaydı NULLIF() ‘ten ilk parametre çıkacaktı.

Umarım faydalı olmuştur,herkese iyi çalışmalar….

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s