Поиск…


замечания

Вышеприведенный пример - просто показать синтаксис для использования операторов case в SQL Server с примером дня недели. Хотя такой же вывод можно получить, используя «SELECT DATENAME (WEEKDAY, GETDATE ())».

Простой оператор CASE

В простейшем случае одно значение или переменная проверяется на несколько возможных ответов. Приведенный ниже код является примером простого случая:

SELECT CASE DATEPART(WEEKDAY, GETDATE())
    WHEN 1 THEN 'Sunday'
    WHEN 2 THEN 'Monday' 
    WHEN 3 THEN 'Tuesday' 
    WHEN 4 THEN 'Wednesday' 
    WHEN 5 THEN 'Thursday' 
    WHEN 6 THEN 'Friday' 
    WHEN 7 THEN 'Saturday' 
END

Искаженный оператор CASE

В заявлении Searched Case каждый параметр может проверять одно или несколько значений независимо. Нижеприведенный код является примером поиска по делу:

DECLARE @FirstName varchar(30) = 'John'
DECLARE @LastName varchar(30) = 'Smith'

SELECT CASE
    WHEN LEFT(@FirstName, 1) IN ('a','e','i','o','u')
        THEN 'First name starts with a vowel'
    WHEN LEFT(@LastName, 1) IN ('a','e','i','o','u')
        THEN 'Last name starts with a vowel'
    ELSE
        'Neither name starts with a vowel'
END


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow