15 Ekim 2011 Cumartesi

Sql Serverda ISNULL Kullanımı


Sql de 0/0 yada x/0  gibi hesaplamalar sorgumuzun hata fırlatmasına sebebiyet vermektedir. Bunu bölen kısmın 0 olup olmama durumunu CASE WHEN yapısıyla yada en kötü ihtimal IF THEN bloğuyla tespit edip önlememiz muhtemeldir.
Ama ben size bunun daha basit ve daha performanslı bir yöntemini söyleyeyim;
SELECT ISNULL(SAYI1/NULLIF(SAYI2,0),0) FROM TABLOADIMIZ


 nullif fonksiyonu parametre olarak aldığı iki parametre eşit değerde olduğu taktirde  null geri döndürür. Eşit olmama değerinde ise birinci parametreyi geri döndürür. Yukarıda yer alan ifadede ise bolen kolonu 0 a eşit ise fonksiyon null döndürecektir.Bu null değeride en baştaki isnull ifadesiyle 0 olarak geri dönecektir.

NullIf işe yarayan bir fonksiyona benziyor. Aklınızda bulunsun.

Alıntıdır...

Hiç yorum yok:

Yorum Gönder