Условие CASE
Данный оператор позволяет осуществить проверку условий и возвратить в зависимости от выполнения того или иного условия тот или иной результат.
Инструкция CASE проходит через условия и возвращает значение, когда выполняется первое условие (например, инструкция IF-THEN-ELSE). Таким образом, как только условие истинно, оно прекратит чтение и вернет результат. Если никакие условия не являются истинными, он возвращает значение в предложении ELSE.
Если нет никакой другой части и никакие условия не истинны, он возвращает NULL.
WHEN-условия проверяются последовательно, сверху-вниз. При достижении первого удовлетворяющего условия дальнейшая проверка прерывается и возвращается значение, указанное после слова THEN, относящегося к данному блоку WHEN.
Если ни одно из WHEN-условий не выполняется, то возвращается значение, указанное после слова ELSE (что в данном случае означает «ИНАЧЕ ВЕРНИ …»).
Если ELSE-блок не указан и не выполняется ни одно WHEN-условие, то возвращается NULL.



