CASE
uttryck utvärderas till ett värde, dvs det används för att utvärdera till ett av en uppsättning resultat, baserat på något villkor.
Exempel:
SELECT CASE
WHEN type = 1 THEN 'foo'
WHEN type = 2 THEN 'bar'
ELSE 'baz'
END AS name_for_numeric_type
FROM sometable`
CASE
sats exekverar en av en uppsättning satser, baserat på något villkor.
Exempel:
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 ser hur de är lika, men påståendet inte utvärdera till ett värde och kan användas på egen hand, medan uttrycket behöver vara en del av ett uttryck, t.ex. en fråga eller ett uppdrag. Du kan inte använda satsen i en fråga, eftersom en sökning inte kan innehålla satser, bara uttryck som behöver utvärderas till något (frågan i sig är en sats, på ett sätt), t.ex. SELECT CASE WHEN condition THEN UPDATE table SET something; END CASE
ingen mening.