CASE
изразът се оценява на стойност, т.е. той се използва за оценка на един от набор от резултати въз основа на някакво условие.
Пример:
SELECT CASE
WHEN type = 1 THEN 'foo'
WHEN type = 2 THEN 'bar'
ELSE 'baz'
END AS name_for_numeric_type
FROM sometable`
CASE
оператор изпълнява един от набор от оператори въз основа на някакво условие.
Пример:
CASE
WHEN action = 'update' THEN
UPDATE sometable SET column = value WHERE condition;
WHEN action = 'create' THEN
INSERT INTO sometable (column) VALUES (value);
END CASE
Виждате колко си приличат, но твърдението не оценява до стойност и може да се използва самостоятелно, докато изразът трябва да бъде част от израз, напр. запитване или задание. Не можете да използвате израза в заявка, тъй като заявката не може да съдържа изрази, а само изрази, които трябва да бъдат оценени до нещо (самата заявка е изявление, в известен смисъл), напр. SELECT CASE WHEN condition THEN UPDATE table SET something; END CASE
няма смисъл.