Bu yazımızda da sql COALESCE fonksiyonundan çok kısa bir şekilde bahsetmek istiyorum.
Bildiğiniz gibi sql de boşla NULL aynı şey değil. Bazı durumlarda kolonun kesinlikle bir değer döndürmesini isteriz. Bunun için Null kontrolü yapmak zorunda kalırız. Bunlardan en bariz örneği olarak matematiksel işleri verebiliriz. Hata almamak işlemin durumuna göre kontrol ederek uygun bir değerin gelmesini sağlarız.
Peki bugüne kadar ISNULL yöntemini kullandık farkı nedir?
Farkı şudur arkadaşlar; ISNULL() makalesinde de gördüğünüz gibi iki parametreyle çalışır, COALESCE ise birden fazla parametreyle çalışır ve eğer kolon null ise null olmayan ilk parametreyi getirir.
Hemen bir örnekle konuyu toparlayalım.
Kullanımı:
SELECT COALESCE (KoloAdi,'Null sa gelecek bir değer-1 ','Parametre-1 Null sa gelecek bir değer-2',...devam eder...,)
Örnek:
SELECT COALESCE(MusteriKodu,PeroselKodu,'yok') FROM [dbo].[StokHareket]
Eğer MusteriKodu null ise PersonelKodunu getirir oda null ise yok yazar. Bu şekilde birden çok kolona göre kontrol yapabilirsiniz ve bazen hayat kurtarır.
Son olarak performans dan da bahsederek bitirmek istiyorum yazıyı.
Tabiki diğer fonksiyonlar gibi sorugulara maliyet yüklüyor ve isnull() fonksiyonuna göre biraz daha yavaş olduğunu gözlemledim. Yanılıyorsam burada doğru sonuçları paylaşabilirsiniz.
Sonra ki bir yazımda görüşmek üzere...