1. Ana Sayfa
  2. SQL
  3. SQL Case When Kullanımı

SQL Case When Kullanımı

SQL Case When Kullanımı

SQL Case When Kullanımı , yazısı ile SQL eğitim setime devam ediyorum arkadaşlar. Bu yazımızda C# ‘taki if else ye benzer bir yapı olan SQL Case When yapısını anlatmaya çalışacağım. Gelin SQL Case When Kullanımı dersimizde geçelim.

 

SQL Case When Kullanımı

Dediğim gibi C# üzerinden bakarsak if else yapısına benzer bir yapıdadır. Daha net anlayabilmeniz için hemen sorgu üzerinde görelim.

Eski projelerimden birinde yazdığım bir sorguyu vereceğim.

SELECT 
       [Stok_Hareket_RECno] AS KAYITNO
     , [Stok_Hareket_Stok_Kodu] AS STOK_KODU
	  ,(SELECT Stok_Adi FROM STOK_TANIMLARI where Stok_RECno = Stok_Hareket_Stok_Kodu) AS STOK_ADI
      ,Stok_Hareket_Tur as HAREKET_TÜRÜ
      ,[Stok_Hareket_Tarih] AS HAREKET_TARİHİ
	  , case WHEN Stok_Hareket_Giris_Cikis = 0 then 'ÇIKIŞ' else 'GİRİŞ' end AS GİRİŞ_ÇIKIŞ
      ,[Stok_Hareket_Adet] AS MİKTAR
	  ,(SELECT Stok_Urun_Fiyati FROM STOK_TANIMLARI where Stok_Kodu=Stok_Hareket_Stok_Kodu) * Stok_Hareket_Adet as TUTAR
      ,[Kayit_Tarih] AS KAYIT_TARİH
  FROM [dbo].[STOK_HAREKETLERİ]
where  Aktif = 1 and Stok_Hareket_Tur = 'Sayım Fişi'
ORDER BY STOK_ADI asc

Hemen case when kısmını alalım ve inceleyelim.

 , case WHEN Stok_Hareket_Giris_Cikis = 0 then 'ÇIKIŞ' else 'GİRİŞ' end AS GİRİŞ_ÇIKIŞ

CASE komutunun tam anlamını bilmiyorum ki aslında pek gerek yok. Olayımız WHEN ‘den sonra başlıyor.

When Stok_Hareket_Giris_Cikis kolonunda yer alan veri 0 (Sıfır) ise ÇIKIŞ yaz değil ise GİRİŞ yaz ve kolon başlığını da GİRİŞ_ÇIKIŞ olarak değiştir.

Evet bu satırın açıklaması bu şekilde. Buradan birden fazla when yazabiliriz. Burada yazabileceğimiz When’in bir sınırı yoktur. Birden fazla When içeren bir sorgu daha yazalım.

Case satırını birden fazla When kullanım şeklini anlatabilmek için biraz sallama yaptım.

	  , case 
	  WHEN Stok_Hareket_Giris_Cikis = 0 then 'Değer0' 
	  WHEN Stok_Hareket_Giris_Cikis = 1 then 'Değer1' 
	  WHEN Stok_Hareket_Giris_Cikis = 2 then 'Değer2' 
	  WHEN Stok_Hareket_Giris_Cikis = 3 then 'Değer3' 
	  WHEN Stok_Hareket_Giris_Cikis = 4 then 'Değer4' else ''	  end AS GİRİŞ_ÇIKIŞ

Şimdi sorguya bakarsak.

When, Ne Zaman demektir. Burada Eğer olarak kullanacağız.

Eğer (When) Stok_Hareket_Giris_Cikis kolonundaki veri 0 (sıfır) ise (Then) ekrana “Değer0” yaz

Eğer (When) Stok_Hareket_Giris_Cikis kolonundaki veri 1 (bir) ise (Then) ekrana “Değer1” yaz

Eğer (When) Stok_Hareket_Giris_Cikis kolonundaki veri 2 (iki) ise (Then) ekrana “Değer2” yaz

Eğer (When) Stok_Hareket_Giris_Cikis kolonundaki veri 3 (üç) ise (Then) ekrana “Değer3” yaz

Eğer (When) Stok_Hareket_Giris_Cikis kolonundaki veri 4 (dört) ise (Then) ekrana “Değer4” yaz

Hiçbiri değil ise hiçbir şey yazma dedik.


En kısa ve öz olarak anlatım ile bu kadardı dostlar. Diğer derslerimizde görüşmek üzere…

Microsoft SQL Server & T-SQL Eğitim Seti ders listesi için tıklayınız.

Sağlıcakla ve Takipte Kalın. 😉

Yorum Yap

Yazar Hakkında

Liseden, Ağ Sistemleri ve Yönetimi bölümünden mezun oldum. Üniversiteden (2 yıllık), Bilgisayar Programcılığı bölümünden mezun oldum. Şuanda da AÖF, Yönetim Bilişim Sistemleri bölümünde okumaktayım. Uzmanlık alanlarım; Windows Sistemleri, HTML, CSS, C# ve SQL’dir. Hobi olarak uğraştığım genel konular, Photoshop, After Affects, Corel Draw’dır.Film, YABANCI dizi, Anime izlemeyi ve Manga okumayı severim. Arkadaşlarımla yürüyüş yapmayı ve grup olarak aktivitelere gitmeyi severim. Geri kalan zamanlarımın tümü bilgisayar karşısında geçer.

Yorum Yap