SQL Server’da ISNULL, IIF ve COALESCE Kullanım

isnull-ifnull-coalesce

Giriş

SQL Server, veritabanı sorgularınızı zenginleştirebilecek çeşitli yerleşik fonksiyonlar sunar. Bu yazıda, ISNULL ve IIF fonksiyonlarının nasıl kullanıldığını adım adım inceleyeceğiz.

SQL Server’da ISNULL IF Kullanımı

SQL Server’da null değerlerle çalışırken bazen karşılaştığımız sorunlar olabilir. Örneğin, bir sorguda null değerleri saymak, ortalama almak, birleştirmek veya koşullu ifadelerde kullanmak isteyebiliriz. Bu durumlarda null değerleri başka bir değerle değiştirmek veya null değerlere göre farklı işlemler yapmak gerekebilir. SQL Server’da bunun için kullanabileceğimiz bazı fonksiyonlar vardır. Bu yazıda ISNULL, NULLIF ve COALESCE fonksiyonlarını inceleyeceğiz.

ISNULL Fonksiyonu

ISNULL fonksiyonu, bir ifadenin null olup olmadığını kontrol eder ve null ise yerine başka bir değer döndürür. Eğer ifade null değilse, kendi değerini döndürür. ISNULL fonksiyonunun genel yapısı şöyledir:

ISNULL (ifade, yerine_geçecek_değer)

Örneğin, bir tabloda null değerleri olan bir sütunu başka bir değerle değiştirmek için şu sorguyu kullanabiliriz:

SELECT ISNULL (ad, 'Bilinmiyor') FROM ogrenciler

Bu sorgu, ad sütununda null değeri olan kayıtların yerine ‘Bilinmiyor’ değerini döndürecektir.

NULLIF Fonksiyonu

NULLIF fonksiyonu, iki ifadenin eşit olup olmadığını kontrol eder ve eşit ise null değer döndürür. Eğer ifadeler eşit değilse, ilk ifadenin değerini döndürür. NULLIF fonksiyonunun genel yapısı şöyledir:

NULLIF (ifade1, ifade2)

Örneğin, bir tabloda 0 değerleri olan bir sütunu null değerle değiştirmek için şu sorguyu kullanabiliriz:

SELECT NULLIF (puan, 0) FROM ogrenciler

Bu sorgu, puan sütununda 0 değeri olan kayıtların yerine null değerini döndürecektir.

COALESCE Fonksiyonu

COALESCE fonksiyonu, birden fazla ifadeyi kontrol eder ve ilk null olmayan değeri döndürür. Eğer tüm ifadeler null ise, null değer döndürür. COALESCE fonksiyonunun genel yapısı şöyledir:

COALESCE (ifade1, ifade2, ..., ifadeN)

Örneğin, bir tabloda birden fazla sütunda null değerleri olan kayıtların yerine başka bir değer döndürmek için şu sorguyu kullanabiliriz:

SELECT COALESCE (ad, soyad, 'Bilinmiyor') FROM ogrenciler

Bu sorgu, ad ve soyad sütunlarında null değeri olan kayıtların yerine ‘Bilinmiyor’ değerini döndürecektir.

SQL Server’da ISNULL, NULLIF ve COALESCE fonksiyonları, null değerlerle çalışırken bize kolaylık sağlar. Bu fonksiyonları kullanarak, null değerleri istediğimiz şekilde değiştirebilir, null değerlere göre farklı işlemler yapabilir ve null değerlerden kaynaklanan hataları önleyebiliriz.

ISNULL Fonksiyonu

ISNULL fonksiyonu, bir sütundaki NULL değerleri belirli bir değerle değiştirmek için kullanılır. Bu, veritabanınızda eksik verilerle çalışırken oldukça faydalıdır.

Örnek Kullanım:

SELECT Ad, ISNULL(Departman, 'Belirtilmemiş') AS Departman
FROM Calisanlar;

Bu sorgu, Departman sütunundaki NULL değerlerini ‘Belirtilmemiş’ ile değiştirir.

IIF Fonksiyonu

IIF, koşullu bir ifadeyi basit bir şekilde yazmanıza olanak tanır. Temelde, CASE ifadesinin daha kısa bir formudur.

Örnek Kullanım:

SELECT Ad, IIF(Maas > 5000, 'Yüksek', 'Düşük') AS Maas_Durumu
FROM Calisanlar;

Bu sorgu, Maas 5000’den büyükse ‘Yüksek’, değilse ‘Düşük’ olarak değerlendirir.

Fonksiyonların Kullanımının Faydaları

  • Veri Düzeltme: ISNULL, veri eksikliklerini yönetmek için etkili bir yol sunar.
  • Koşullu Mantık: IIF, sorgularınıza basit koşullu mantık eklemenize olanak tanır.
  • Kodun Okunabilirliği: Her iki fonksiyon da sorgularınızı daha okunabilir ve yönetilebilir hale getirir.

Sonuç

ISNULL ve IIF fonksiyonları, SQL Server’da veri analizi ve sorgulama süreçlerinizi kolaylaştırır. Bu fonksiyonlar sayesinde, veri setleriniz üzerinde daha etkili ve hızlı işlemler gerçekleştirebilirsiniz.

SQL Server’ da if ve isnull kullanımı konusuyla ilginizi çektiysek diğer konularımıza da göz atabilirsiniz.

Giden Bağlantılar: SQL Server resmi belgelerine bağlantılar eklendi.

Bir yanıt yazın