CASE
výraz se vyhodnotí na hodnotu, tj. použije se k vyhodnocení jednoho ze sady výsledků na základě nějaké podmínky.
Příklad:
SELECT CASE
WHEN type = 1 THEN 'foo'
WHEN type = 2 THEN 'bar'
ELSE 'baz'
END AS name_for_numeric_type
FROM sometable`
CASE
příkaz provede jeden ze sady příkazů na základě nějaké podmínky.
Příklad:
CASE
WHEN action = 'update' THEN
UPDATE sometable SET column = value WHERE condition;
WHEN action = 'create' THEN
INSERT INTO sometable (column) VALUES (value);
END CASE
Vidíte, jak jsou si podobné, ale tvrzení není vyhodnotit na hodnotu a lze jej použít samostatně, přičemž výraz musí být součástí výrazu, např. dotaz nebo úkol. Příkaz nemůžete použít v dotazu, protože dotaz nemůže obsahovat příkazy, pouze výrazy, které je třeba k něčemu vyhodnotit (dotaz sám o sobě je svým způsobem příkazem), např. SELECT CASE WHEN condition THEN UPDATE table SET something; END CASE
nedává smysl.