Организация ветвлений (case) в SQL


Для организации ветвлений в SQL-92 включен оператор CASE, который может использоваться там, где допускается ссылка на столбец. Предусмотрено две варианта его реализации.

1 Вариант

CASE {WHEN <условие> THEN <выр1>|NULL} [ELSE <выр2>|NULL]

2 Вариант

CASE <выр> {WHEN <значение> THEN <выр1>|NULL} [ELSE <выр2>|NULL]

Примеры на организацию ветвлений:

SELECT ODate, SUM(Amt) FROM Orders WHERE Amt=CASE WHEN Amt IS NULL THEN 0 ELSE (SELECT Amt FROM Orders WHERE CNum<>2001)

SELECT CName, CASE WHEN City=’London’ THEN ‘England’ WHEN City=’Rome’ THEN ‘Italy’ ELSE ‘Other’ FROM Orders

SELECT CName, CASE City WHEN ’London’ THEN ‘England’ WHEN ‘Rome’ THEN ‘Italy’ ELSE ‘Other’ FROM Orders


Комментарии запрещены.




Статистика