SQL Server’da Isnull Fonksiyonu ve Coalesce Fonksiyonu Arasındaki Farklar
Herkese merhaba,
Bu yazıda size SQL Server’da Coalesce fonksiyonu ve Isnull fonksiyonu arasındaki farktan bahsedeceğim.
- Coalesce fonksiyonu ANSI-SQL uyumludur.
- Isnull mutlaka iki parametre ile kullanılır. Coalesce fonksiyonunda ikiden fazla parametre kullanabiliriz.
- Isnull fonksiyonu ilk parametreye göre değer uzunluğu alırken coalesce fonksiyonu ilk değerin uzunluğuna göre değer almaz. Bu işlemi bir örnek ile görelim.
--Isnull Kullanımı --Değişken Tanımlama ve NULL değer atanması DECLARE @Degisken1 VARCHAR(10)= NULL --Değişken Tanımlama DECLARE @Degisken2 VARCHAR(100) --Değişkene değer atama SET @Degisken2 = 'Çok çok çok çok uzun bir metin bu metin' --Isnull fonksiyonu, birinci karakterin uzunluğu kadar kesim yapmıştır. SELECT ISNULL(@Degisken1, @Degisken2) --Coalesce Kullanımı --Değişken Tanımlama ve NULL değer atanması DECLARE @Deger1 VARCHAR(10)= NULL --Değişken Tanımlama DECLARE @Deger2 VARCHAR(100) --Değişkene değer atama SET @Deger2 = 'Yine bir metin yazarken başka bir metin daha denk geldi' --Coalesce fonksiyonu, herhangi bir kesim işlemi yapmamıştır. SELECT COALESCE(@Deger1, @Deger2)
Görüldüğü üzere Isnull ilk girilen parametrenin uzunluğunu değer alarak bir kesim yapmıştır.
- Isnull altsorgularda performanslı çalışırken Coalesce fonksiyonu performanslı çalışmaz.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.