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.

571 Kez Okundu

Kategoriler: