The
CASE
expression goes through conditions and returns a value when the first condition is met
(like an if-then-else statement).
Once a condition is true, it will stop reading and return the result.
If no conditions are true, it returns the value in the
ELSE
clause.
If there is no
ELSE
part and no conditions are true, it returns NULL.
Example
Return specific values if the price meets a specific condition:
SELECT product_name,
WHEN price < 10 THEN 'Low price product'
WHEN price > 50 THEN 'High
price product'
ELSE
'Normal product'
END
FROM
products;
Run Example »
When a column name is not specified for the "case" field,
the parser uses
case
as the column name.
To specify a column name, add an alias after the
END
keyword.
Example
Same example, but with an alias for the case column::
SELECT product_name,
WHEN price < 10 THEN 'Low price product'
WHEN price > 50 THEN 'High
price product'
ELSE
'Normal product'
END AS "price category"
FROM
products;
Run Example »
You can read more about aliases in our
PostgreSQL AS chapter
.
Report Error
If you want to report an error, or if you want to make a suggestion, do not hesitate to send us an e-mail:
[email protected]
W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning.
Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness
of all content. While using W3Schools, you agree to have read and accepted our
terms of use
,
cookie and privacy policy
.
W3Schools is Powered by W3.CSS
.