Oracle’ın Built-in fonksiyonu olan Coalesce maalesef çok fazla bilinmiyor. En basit tarif ile “Değer NULL ise yanındaki sağındaki değere bak” söyliyebilirim. Bu fonksiyonu iç içe geçmiş NVL,DECODE yerine kullanılabilir. Bu fonksiyon bilinmediği zaman okunması zor olan kodlar ortaya çıkıyor.
Basit bir örnek vermek gerekir ise:

Test için örnek data:

Örnek Kod ( script aşağıda)

        SELECT 1 as ID,
               NULL sutun1,
               NULL sutun2,
               NULL sutun3,
               NULL sutun4,
               'veri5' sutun5,
               'veri6' sutun6
          FROM dual

coalesce örnek kod

SELECT id,
       NVL(NVL(NVL(NVL(NVL(sutun1,sutun2),sutun3),sutun4),sutun5),sutun6)  AS NVL_YONTEMI,
       COALESCE(sutun1,sutun2,sutun3,sutun4,sutun5,sutun6)  AS COALESCE_YONTEMI
  FROM (
        SELECT 1 as ID,
NULL sutun1,
NULL sutun2,
NULL sutun3,
NULL sutun4,
'veri5' sutun5,
'veri6' sutun6
FROM dual
)

Coalesce içine N adet parametre alabilir.
Özellikle 3 ve yukarı değişken kontrole edecekseniz, NVL, DECODE, CASE WHEN vs yerine bunu kullanın. Aksi halde bi noktadan sonra kodun okunurluğu azalıyor.
Girdiğiniz parametrelerin veri tipi aynı olması gerekiyor veya implict dönüşüm yapabilyor olması gerekir.