How To Use CASE Expression

Q

How To Use CASE Expression? - MySQL FAQs - Introduction to SQL Basics

✍: FYIcenter.com

A

There are 2 ways to use the CASE expression. The first way is to return one of the predefined values based on the comparison of a given value to a list of target values. The second way is to return one of the predefined values based on a list of conditions. Here is the syntax of both types of CASE expressions:

CASE value WHEN target_value THEN result 
   WHEN target_value THEN result
   WHEN target_value THEN result
   ...
   ELSE result
   END 

CASE WHEN condition THEN result 
   WHEN condition THEN result 
   WHEN condition THEN result 
   ...
   ELSE result
   END 

The tutorial exercise below gives two good examples:

SELECT CASE 'Sun' WHEN 'Mon' THEN 'Open' 
   WHEN "Fri" THEN "Open" ELSE 'Closed' END FROM DUAL;
   Closed

SELECT CASE WHEN HOUR(CURRENT_TIME())<9 THEN 'Closed' 
   WHEN HOUR(CURRENT_TIME())>17 THEN 'Closed' 
   ELSE 'Open' END FROM DUAL;
   Closed

2007-05-11, 4730👍, 0💬