Sql Server Temel Seviye SQL Server

SQL Server Case When Kullanımı

SQL Server Eğitimleri Kanalına Abone Olun

Herkese merhaba,

Bu yazıda sizlere SQL Server’da Case When kullanımından bahsedeceğim.

SQL Server’da bazen bazı sütunlarda veriler anlamlı olmayabilir. Ne demek istediğimi açıklayayım. Misal bir tablomuz var ve bu tablodaki il verileri 01,02,03 gibi rakamsal girilmiş veriler olsun. Biz bu veriler üzerinde 01 değilde Adana olarak gözükmesini istiyoruz. İşte tam bu noktada bunu kullanacağız. Başka bir örnek daha verelim. Büyük bir veri tablomuz var. Bu tabloda erkeklere 0 kadınlara 1 değeri verilerek veri girişi yapılmış. Biz bu değerler karşısına 0 ise erkek, 1 ise kadın yazmasını istiyoruz. İşte bu noktada da bu ifadeyi kullanabiliriz. Ne demek istiyoruz bir örnekle açıklayalım.

CREATE TABLE SirketCalisanlar (
Id INT IDENTITY(1,1),
Ad NVARCHAR(50),
Ilce NVARCHAR(50)
)

Burada bir tablo oluşturuyoruz. Sonrasında ise içine veri ekleyeceğiz. Aşağıda kodlarını görmektesiniz.

INSERT INTO dbo.SirketCalisanlar
        ( Ad, Ilce )
VALUES  ( N'Yavuz', -- Ad - nvarchar(50)
          N'Bahçelievler'  -- Ilce - nvarchar(50)
          )

INSERT INTO dbo.SirketCalisanlar
        ( Ad, Ilce )
VALUES  ( N'Mustafa', -- Ad - nvarchar(50)
          N'Bakırköy'  -- Ilce - nvarchar(50)
          )

INSERT INTO dbo.SirketCalisanlar
        ( Ad, Ilce )
VALUES  ( N'Pelin', -- Ad - nvarchar(50)
          N'Bayrampaşa'  -- Ilce - nvarchar(50)
          )

INSERT INTO dbo.SirketCalisanlar
        ( Ad, Ilce )
VALUES  ( N'Büşra', -- Ad - nvarchar(50)
          N'Bayrampaşa'  -- Ilce - nvarchar(50)
          )

INSERT INTO dbo.SirketCalisanlar
        ( Ad, Ilce )
VALUES  ( N'Hasan', -- Ad - nvarchar(50)
          N'Bahçelievler'  -- Ilce - nvarchar(50)
          )

INSERT INTO dbo.SirketCalisanlar
        ( Ad, Ilce )
VALUES  ( N'Bilge', -- Ad - nvarchar(50)
          N'Bakırköy'  -- Ilce - nvarchar(50)
          )

Şimdi girdiğimiz verileri listeleyelim.

SELECT * FROM dbo.SirketCalisanlar

Görüldüğü üzere 6 adet kayıt geldi. Şimdi Case When sorgumuzu yazıyoruz.

SELECT ad,Ilce,
Yakınlıklar=CASE Ilce WHEN N'Bakırköy' THEN 'Merkeze Yakın'
                  WHEN N'Bahçelievler' THEN '1. Şubeye Yakın'
				  WHEN N'Bayrampaşa' THEN '3. Şubeye Yakın'
				  end

 FROM dbo.SirketCalisanlar

Burada Bakırköy olanlar için Merkeze Yakın, Bahçelievler olanlar için 1.Şubeye Yakın, Bayrampaşa olanlar için ise 3. Şubeye Yakın yazdırmış olduk.

Case When ifadesinin diğer bir kullanım şekli ise aşağıdaki gibidir.

 SELECT CASE WHEN Ilce=N'Bakırköy' THEN 'Merkeze Yakın'
             WHEN Ilce=N'Bahçelievler' THEN '1. Şubeye Yakın'
			 WHEN Ilce=N'Bayrampaşa' THEN '3. Şubeye Yakın'
			 END, ad,Ilce
             FROM SirketCalisanlar

Aynı sonucu almış olduk.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

SQL Server Eğitimleri Kanalına Abone Olun

Yazar hakkında

Yavuz Selim Kart

SQL Server tarafında kendini ilerletmeye çalışırken bildiklerini sürekli başkalarına aktaran, yazılım dünyasında (C#, Java, Python vb.) kendini güncel tutmaya çalışan, araştırma yapmaktan bıkmayan, meraklı, bilginin üzerine bilgi katmaktan mutluluk duyan bir yazılım eğitmeni ve kod sever.
Grafik tasarım dünyasında Indesign'ı anlatacak kadar iyi kullanabilen, Photoshop ve Illustrator'e de orta düzey hakimiyeti bulunan, internet üzerinde online kimya dergisi kurmuş ve bunu yüzbinlerce kişiye ulaştırmayı başaran bir grafik sever.
WordPress tarafında 5 adet web sitesi kurmuş, bu sistemler üzerine çalışan bir WordPress sever.
Sosyal medya üzerinde okumalara ve araştırmalara devam eden, kendi kurmuş olduğu kimya dergisini daha çok kişiye nasıl ulaştırırım diye düşünen ve bu konuda SEO çalışmaları üzerine kafa yoran bir Sosyal Medya sever.
Kısaca çok çalışmayı seven, azimli biriyim.

Kopyalamak Yasaktır!