yaodong
4/24/2015 - 9:08 AM

MySQL Case Expression vs Case Statement

MySQL Case Expression vs Case Statement

From StackOverflow:

The statement does not evaluate to a value and can be used on its own, while the expression needs to be a part of an expression.

CASE expression:

SELECT CASE
    WHEN type = 1 THEN 'foo'
    WHEN type = 2 THEN 'bar'
    ELSE 'baz'
END AS name_for_numeric_type
FROM sometable`

CASE Statement:

CASE
    WHEN action = 'update' THEN
        UPDATE sometable SET column = value WHERE condition;
    WHEN action = 'create' THEN
        INSERT INTO sometable (column) VALUES (value);
END CASE

Related Links: