MySQL中的CASE WHEN语句是一种条件语句,类似于其他编程语言中的if/else语句。通过它可以实现根据不同条件进行不同操作或者返回不同的结果。它的基本语法如下:

CASE expression
  WHEN value1 THEN result1
  WHEN value2 THEN result2
  ...
  ELSE else_result
END

其中,”expression”通常是一个字段或表达式,而”WHEN value THEN result”用于指定在满足某个条件时的返回值,ELSE用于指定所有条件都不成立时的返回值。下面举个例子来说明:

假设我们有一个名为”orders”的订单表,包含订单编号、客户名称、订单日期和订单金额等字段。我们需要根据订单金额分别将其分为三档:高、中和低。我们可以使用以下代码实现:

SELECT order_id,
       customer_name,
       order_date,
       order_amount,
       CASE
         WHEN order_amount > 10000 THEN 'high'
         WHEN order_amount BETWEEN 5000 AND 10000 THEN 'medium'
         ELSE 'low'
       END AS amount_level
FROM orders;

在这个例子中,通过 CASE WHEN 语句将订单金额分为了三档,当订单金额大于10000时返回”high”,当订单金额介于5000和10000之间时返回”medium”,否则返回”low”。同时,通过 AS 将新的计算字段命名为 amount_level。

除了上述语法外,CASE WHEN语句还支持其他的复杂形式,比如嵌套CASE WHEN语句以及使用聚合函数等。具体用法可以根据实际情况进行拓展和应用。