Anasayfa / Yazılım / SQL / SQL IF Kullanımı

SQL IF Kullanımı

MS SQL’de T-SQL yapısında da koşullu sorgular oluşturma ihtiyacı duyabiliriz. Tıpkı programlama dillerinde olduğu gibi koşul sonucu TRUE ve FALSE mantıksal yapısına göre işlemler ele alınırlar. IF kullanımını syntax olarak aşağıdaki gibi üç şekilde olabilir.

IF koşul durum

IF koşul
durum

IF koşul BEGIN
durum1
varsa durum2 durum3 şeklinde devam eder
END

Genel olarak kullanımlarda ben 3. yapıyı tercih ediyorum. Hem kodun okunabilirliği daha iyi hem de herhangi bir hata olduğunda daha net şekilde görülebilir ve düzenlenebilir bir yapıda. Şimdi bir kaç örnekle IF kullanımını görelim. AdventureWorks2012 veritabanı üzerinde çalışlıyorum. Yeni bir sorgu penceresi açtım.

Şimdi bir değişken oluşturalım INT tipinde olsun. Daha sonra Sales.Customer tablosundaki verilerin satır sayısını bulalım ve bunu bu değişken içine atalım. Daha sonra eğer bu değer 100’den fazla ise ekrana “Satır sayısı 100 den fazladır.” yazalım.

DECLARE @SatirSayisi INT; 
SELECT @SatirSayisi = COUNT(*) FROM Sales.Customer;
IF @SatirSayisi > 100 BEGIN
PRINT 'Satır sayısı 100 den fazladır.';
END;
GO

2013052701

Şimdi de Person.Person tablosundaki BusinessEntityID değeri 1 olan verinin FirstName ve LastName alanlarını oluşturacağımız AdSoyad değişkeni içine alalım. Daha sonra sırası ile bu veri içinde Ken ve Katty ifadeleri geçiyor mu bakalım. Önce Ken varmı bakıcaz, eğer ken varsa Ken ifadesi geçiyor yazalım.

DECLARE @AdSoyad NVARCHAR(50);
SELECT @AdSoyad = FirstName + ' ' + LastName
FROM Person.Person WHERE BusinessEntityID = 1;
IF CHARINDEX('Ken',@AdSoyad) > 0 BEGIN
PRINT 'Veri satırı içinde KEN mevcut';
END;

2013052702

Şimdi bir de bakalım Katty var mı, varsa Katty ifadesi geçiyor yazalım.

DECLARE @AdSoyad NVARCHAR(50);
SELECT @AdSoyad = FirstName + ' ' + LastName
FROM Person.Person WHERE BusinessEntityID = 1;
IF CHARINDEX('Katty',@AdSoyad) > 0 BEGIN
PRINT 'Veri satırı içinde KATTY mevcut';
END;

Bunun sonucunda bir şey yazmaz, sadece Command(s) completed successfully. yazar. Çünkü koşul tam değil, sadece değişken oluşturulmuştur, dolayısı ile onayı değişken oluşturuldu diye verir.

Sorgulardan görüleceği üzere sadece IF var ve koşul doğru ise durumda belirtilen gerçekleştiriliyor.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir