SQL Server’da CASE WHEN ile UPDATE Kullanımı
Herkese merhaba,
Bu yazıda sizlere SQL Server’da CASE WHEN ile UPDATE kullanımından bahsedeceğim.
SQL Server’da bazı durumlarda bir kolonun içeriği şarta sokularak diğer bir kolon güncellenmek istenebilir.
İşlemi anlamak için ilk olarak aşağıdaki tabloyu oluşturup içindeki verileri ekleyelim.
--Tablo oluşturulması
CREATE TABLE Sayilar
(
id INT IDENTITY(1, 1) PRIMARY KEY,
Sayi INT,
Aciklama NVARCHAR(20)
);
--Tabloya veri eklenmesi
INSERT INTO dbo.Sayilar
(
Sayi,
Aciklama
)
VALUES
( 20, -- Sayi - int
N'' -- Aciklama - nvarchar(20)
),
(30, N''),
(40, N''),
(15, N'');
--Tablo kontrol edilmesi
SELECT * FROM dbo.Sayilar
Görüldüğü üzere tablomuz oluştu ve veriler eklendi.
Burada bizim yapmak istediğimiz Sayı kolonundaki rakama göre Açıklama kolonunu büyüktür ya da küçüktür şeklinde güncellemek.
Bu işlem için aşağıdaki Case When yapısını kullanıyoruz.
UPDATE dbo.Sayilar
SET Aciklama = CASE
WHEN Sayi < 20 THEN
'20 den küçük'
ELSE
'20 den büyük'
END;
Kod bloğunu çalıştırdığımızda bize aşağıdaki sonucu döndürecektir.
Görüldüğü üzere istediğimiz sonucu elde ettik fakat dikkat ederseniz bir satırda 20 ifadesi var ve bu satır 20 yirmiden küçük olmadığı için else bloğuna girip 20’den büyük yazdı.
Bu yüzden bu tarz kodlar yazarken olasılıkları güzel hesap edin yoksa hatalı sonuçlar elde edebilirsiniz.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.