T-Sql üzerinde, matematiksel işlemler yaparken, bir değeri, “0” olan bir değere bölmek istediğinizde, “Divide by zero error encountered.” hatası ile karşılaşacaksınız. Bu bir mantık hatasıdır, “0” ile bir değer bölünemez.

Çözüm yolu  olarak NULLIF fonksiyonunu kullanabilirsiniz. Eğer bir değeri bölmek istediğiniz değer 0 ise, bu değeri NULL olarak geri döndürebilirsiniz. Böylelikle sorgunuz hata vermeyecek NULL değer geriye döndürecektir. Bunu da ISNULL fonksiyonu ile 0 olarak geriye döndürebilirsiniz.

Aşağıda örnek kullanımları görebilirsiniz.

* NULLIF fonksiyonu nedir? ne işe yarar? nasıl çalışır?
* ISNULL fonksiyonu nedir? ne işe yarar? nasıl çalışır?


SELECT (toplam/miktar) FROM SIPARISLER
Eğer burada miktar 0 ise "Divide by zero error encountered." hatası dönecektir.

SELECT (toplam/NULLIF(miktar,0)) FROM SIPARISLER
Eğer burada miktar 0 ise "NULL" değeri dönecektir.

SELECT ISNULL((toplam/NULLIF(miktar,0)),0) FROM SIPARISLER
Eğer burada miktar 0 ise 0 değeri dönecektir.