Case
is a conditional SQL expression: It searches for the first when
clause whose value equals (=
) that of the case
clause and returns the value of the corresponding then
clause—or that of else
if nothing matches or null
if there is no else
clause.
SELECT CASE <expr> WHEN 0 THEN 'zero'
WHEN 1 THEN 'one'
ELSE 'not zero or one'
END
FROM …
Note that when null
never matches. Use case when <expr> is null
instead.
Tutorial: Case
— Conditional Expressions
Other conditional SQL expressions
Product specific features: if
, decode
.
The simple case
expression is defined in ISO/IEC 9075-2:2023 as mandatory feature F261-01.
You can’t catch up on 20 years of SQL evolution in one day. Subscribe the newsletter via E-Mail, Twitter or RSS to gradually catch up and to keep modern-sql.com on your radar.
The essence of SQL tuning in 200 pages
Buy now!
(paperback and/or PDF)
Paperback also available at Amazon.com.
Markus offers SQL training and consulting for developers working at companies of all sizes.
Learn more »