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.