Post

12 - CASE ifadesi

12 - CASE ifadesi

12.1 - Basit CASE ifadesi

Basit bir CASE ifadesinde, bir değer veya değişken, birden çok olası cevapla karşılaştırılır. Aşağıdaki kod, basit bir CASE ifadesinin bir örneğidir:

1
2
3
4
5
6
7
8
9
SELECT CASE DATEPART(WEEKDAY, GETDATE())
    WHEN 1 THEN 'Pazar'
    WHEN 2 THEN 'Pazartesi'
    WHEN 3 THEN 'Salı'
    WHEN 4 THEN 'Çarşamba'
    WHEN 5 THEN 'Perşembe'
    WHEN 6 THEN 'Cuma'
    WHEN 7 THEN 'Cumartesi'
END

12.2 - CASE ifadesi

Başka bir CASE ifadesinde, her bir seçenek bağımsız olarak bir veya daha fazla değeri test edebilir.

1
2
3
4
5
6
7
DECLARE @FirstName varchar(30) = 'John'
DECLARE @LastName varchar(30) = 'Smith'
SELECT CASE
    WHEN LEFT(@FirstName, 1) IN ('a','e','i','o','u') THEN 'Ad ilk harfi ünlü harfle başlar'
    WHEN LEFT(@LastName, 1) IN ('a','e','i','o','u') THEN 'Soyad ilk harfi ünlü harfle başlar'
    ELSE 'Ne ad ünlü harfle başlar, ne de soyad'
END

Bu SQL kodu, @FirstName’in ve @LastName’in başındaki harfleri kontrol eder ve her ikisi de ünlü harfle başlıyorsa ilgili mesajı döndürür; aksi takdirde, “Ne ad ünlü harfle başlar, ne de soyad” mesajını döndürür.

This post is licensed under CC BY 4.0 by the author.