Koşullu Mantık ve Akış Kontrolü: CASE WHEN, IIF ve CHOOSE
T-SQL’de koşullu mantık ve akış kontrolü, veritabanı sorgularında ve işlemlerinde çok önemlidir. Bu makalede, CASE WHEN, IIF ve CHOOSE ifadelerinin nasıl kullanılacağını inceleyeceğiz.
CASE WHEN
CASE WHEN, en esnek ve güçlü koşullu ifade yöntemidir. Birden fazla koşul ve sonuç döndürebilir.
-- CASE WHEN kullanarak basit bir örnek
SELECT
EmployeeID,
FirstName,
LastName,
CASE
WHEN Salary > 50000 THEN 'High'
WHEN Salary BETWEEN 30000 AND 50000 THEN 'Medium'
ELSE 'Low'
END AS SalaryLevel
FROM
Employees;Code language: SQL (Structured Query Language) (sql)
Yukarıdaki kod, çalışanların maaşlarına göre ‘High’, ‘Medium’ veya ‘Low’ seviyesini belirler.
CASE WHEN ifadesi, karmaşık koşullar için idealdir. Her durumu ayrı ayrı kontrol edebilirsiniz.
IIF
IIF, CASE WHEN gibi ama daha basit bir ifade yöntemidir. Sadece iki koşul durumunu kontrol edebilir.
-- IIF kullanarak basit bir örnek
SELECT
EmployeeID,
FirstName,
LastName,
IIF(Salary > 50000, 'High', 'Low') AS SalaryLevel
FROM
Employees;Code language: SQL (Structured Query Language) (sql)
Yukarıdaki kod, çalışanların maaşına göre ‘High’ veya ‘Low’ seviyesini belirler.
IIF ifadesi SQL Server 2012 ve sonrası sürümlerde kullanılabilir. Daha eski sürümlerde CASE WHEN kullanmanız gerekir.
CHOOSE
CHOOSE, belirli bir indekse göre bir değer döndürür. Genellikle bir dizi değerden seçim yapmak için kullanılır.
-- CHOOSE kullanarak basit bir örnek
SELECT
EmployeeID,
FirstName,
LastName,
CHOOSE(DATEPART(WEEKDAY, HireDate), 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday') AS HireDayOfWeek
FROM
Employees;Code language: SQL (Structured Query Language) (sql)
Yukarıdaki kod, çalışanların işe başlama gününü haftanın günü olarak belirler.
CHOOSE ifadesi, sabit bir dizi değerden seçim yapmak için hızlı ve kolrudur.
Umarım bu makale, T-SQL’de koşullu mantık ve akış kontrolü konusunda size yardımcı olmuştur. İyi çalışmalar!





