CASE

Оператор CASE, в зависимости от указанных условий, возвращает одно из множества возможных значений.

Может быть использован в одной из двух форм записи:

При использовании первой синтаксической формы условие WHEN удовлетворяется, когда значение проверяемого выражения станет равным значению выражения, указанного в предложении WHEN. При использовании второй синтаксической формы условие WHEN удовлетворяется, если предикат принимает значение TRUE. При удовлетворении условия оператор CASE возвращает значение, указанное в соответствующем предложении THEN. Если ни одно из условий WHEN не выполнилось, то будет использовано значение, указанное в предложении ELSE.

Синтаксис

--Простое выражение
CASE input_expression    
     WHEN when_expression THEN result_expression [ ...n ]   
     [ ELSE else_result_expression ]   
END

-- Поисковое выражение
CASE 
    WHEN boolean_expression THEN result_expression [ ...n ]
    [ ELSE else_result_expression ]   
END

Аргументы

input_expression

Выражение, полученное при использовании простого формата функции CASE.

when_expression

Простое выражение, с которым сравнивается input_expression.

boolean_expression

Логическое выражение, полученное при использовании поискового формата функции CASE.

result_expression

Возвращаемое выражение, когда when_expression имеет значение TRUE.

else_result_expression

Если ни одно из условий WHEN не выполнилось, то будет использовано значение, указанное в предложении ELSE.