在MySQL中,CASE WHEN语句用于对一系列条件进行判断,并根据不同的条件返回不同的结果。
语法如下:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
WHEN conditionN THEN resultN
ELSE result
END
其中,condition1
、condition2
等是条件表达式,result1
、result2
等是相应条件满足时返回的结果。ELSE
子句是可选的,用于处理条件都不满足时的默认结果。
举例来说,假设有一个名为orders
的表,其中包含customer_id
和total_amount
两个列。我们希望根据total_amount
的值判断订单的类型,并返回对应的结果。可以使用CASE WHEN语句来实现:
SELECT customer_id, total_amount,
CASE
WHEN total_amount > 1000 THEN '大额订单'
WHEN total_amount > 500 THEN '中额订单'
ELSE '小额订单'
END AS order_type
FROM orders;
通过执行上述查询,将会返回一个包含customer_id
、total_amount
和order_type
三个列的结果集。order_type
列将根据total_amount
的值进行判断,并返回对应的订单类型。
需要注意的是,在CASE WHEN语句中,条件是按顺序依次判断的。一旦某个条件的结果为真,则返回对应的结果,并且后面的条件将不再判断。如果没有任何条件满足,则返回ELSE子句中的结果。