SQL Server için Case When Örneği
SQL Server'da Tablo OluşturalımCREATE Table tblIlanlar ( id INT PRIMARY KEY IDENTITY, baslik NVARCHAR(255), durum TINYINT DEFAULT 0 )Birkaç Kayıt Ekleyelim
Görüldüğü gibi, durum kolonundaki değerler "0", "1" ve "2" değerlerini taşımaktadır. Peki bu sayıları "Yayında Değil", "Yayında" ve "Onay Bekliyor" şeklinde göstermemiz için gereken anahtar kelimeler CASE WHEN deyimidir.
Şimdi sorgumuzu Case When yapısına göre yazalım.
SQL Server Case When
SELECT id, baslik, CASE durum WHEN 0 THEN 'Yayında Değil' WHEN 1 THEN 'Yayında' WHEN 2 THEN 'Onay Bekliyor' END AS 'ilan_durumu' FROM tblIlanlar
SQL Server Case When Sonucu
Oracle için Case When Örneği
Oracle'da Tablo OluşturalımCREATE TABLE KISILER ( ID NUMBER(10) GENERATED BY DEFAULT AS IDENTITY, AD VARCHAR2(100) NULL, YAS NUMBER(10), CONSTRAINT PK_KISILER PRIMARY KEY(ID) )
Tablomuzu Oracle üzerinde oluşturduk. Şimdi ise biraz kayıt ekleyerek örneğimizi oluşturmaya başlayalım.
Birkaç Kayıt Ekleyelim
Bu örnekteki senaryomuz şu şekilde olacaktır. YAS sütununun değerine göre bebek, çocuk, genç ve yaşlı kavramlarını Case When ile yapmaya çalışalım.
Oracle Case When
SELECT ID, AD, YAS, CASE WHEN YAS < 5 THEN 'Bebek' WHEN (YAS > 5) AND (YAS < 16) THEN 'Çocuk' WHEN (YAS > 15) AND (YAS < 36) THEN 'Genç' WHEN YAS > 35 THEN 'Yaşlı' END AS YAS_DURUM FROM KISILER
Sorgumuzdaki Case When örneğinde aralıklı karşılaştırma yaparak farklı bir şekilde örneklendirmiş olduk.
Oracle Case When Sonucu
PostgreSQL için Case When Örneği
PostgreSQL'de Tablo OluşturalımCREATE TABLE kitaplar ( id INT GENERATED BY DEFAULT AS IDENTITY, ad VARCHAR(100) NULL, silindi BIT, CONSTRAINT PK_kitaplar PRIMARY KEY(id) )
Tablomuzu PostgreSQL üzerinde oluşturduk. Şimdi ise biraz kayıt ekleyerek örneğimizi oluşturmaya başlayalım.
Birkaç Kayıt Ekleyelim
Bu örnekteki senaryomuz şu şekilde olacaktır. silindi sütununun değerine göre silindi, silinmedi şeklindeki uyarıları Case When ile yapmaya çalışalım.
PostgreSQL Case When
SELECT id, ad, CASE WHEN silindi = '1' THEN 'Silindi' WHEN silindi = '0' THEN 'Silinmedi' END silindi_durum FROM kitaplar
Sorgumuzdaki hazırlayıp derledik. Sorgu sonucunu PostgreSQL veritabanı üzerinden paylaşalım.