在MySQL中,CASE
语句用于根据条件执行不同的操作。它有两种形式:简单形式和复杂形式。简单形式的语法如下:
sql复制代码CASE expressionWHEN value1 THEN result1WHEN value2 THEN result2...ELSE result END
这里的expression
是要评估的表达式,value1
、value2
等是可能的表达式结果,result1
、result2
等是与每个表达式结果相关联的操作或值。如果expression
的值与任何WHEN
子句中的值匹配,则执行相应的THEN
子句,否则执行ELSE
子句中的操作或值(如果提供)。
以下是一个使用简单形式CASE
语句的示例:
sql复制代码SELECT customer_name,CASE WHEN order_count > 10 THEN 'High' WHEN order_count > 5 THEN 'Medium' ELSE 'Low' END AS order_priorityFROM orders;
在这个示例中,根据order_count
字段的值,将为每个客户分配一个订单优先级('High'、'Medium'或'Low')。
复杂形式的CASE
语句允许在每个WHEN
子句中使用多个条件,如下所示:
sql复制代码CASE WHEN condition1 THEN result1WHEN condition2 THEN result2...ELSE result END
你可以根据需要使用简单形式或复杂形式,取决于你的具体需求。