CASE
udtryk evalueres til en værdi, dvs. det bruges til at evaluere til et af et sæt resultater, baseret på en eller anden betingelse.
Eksempel:
SELECT CASE
WHEN type = 1 THEN 'foo'
WHEN type = 2 THEN 'bar'
ELSE 'baz'
END AS name_for_numeric_type
FROM sometable`
CASE
sætning udfører en af et sæt sætninger, baseret på en eller anden betingelse.
Eksempel:
CASE
WHEN action = 'update' THEN
UPDATE sometable SET column = value WHERE condition;
WHEN action = 'create' THEN
INSERT INTO sometable (column) VALUES (value);
END CASE
Du kan se, hvordan de ligner hinanden, men udsagnet ikke evaluere til en værdi og kan bruges alene, mens udtrykket skal være en del af et udtryk, f.eks. en forespørgsel eller en opgave. Du kan ikke bruge sætningen i en forespørgsel, da en forespørgsel ikke kan indeholde udsagn, kun udtryk, der skal evalueres til noget (selve forespørgslen er på en måde et udsagn), f.eks. SELECT CASE WHEN condition THEN UPDATE table SET something; END CASE
giver ingen mening.