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.
Comments by admin