MySQL CASE 函数使用方法及示例

MySQL函数

在线示例

满足条件并在满足第一个条件时返回值:

SELECT OrderID, Quantity,
CASE
    WHEN Quantity > 30 
  THEN "The quantity is greater than 30"
    WHEN Quantity = 
  30 THEN "The quantity is 30"
    ELSE "The quantity is 
  under 30"
END
FROM OrderDetails;

定义和用法

CASE语句通过条件并在满足第一个条件时返回值(如IF-THEN-ELSE语句)。因此,一旦条件为真,它将停止查询并返回结果。

如果没有条件成立,它将返回ELSE子句中的值。

如果没有ELSE部分且没有条件为真,则返回NULL。

语法

  CASE
    WHEN  THEN 
    
  WHEN  THEN 
    WHEN 
   THEN 
    ELSE 
END;

参数值

参数描述
condition1, condition2, ...conditionN需要。条件。将按照列出的顺序对它们进行评估
result1, result2, ...resultN需要。条件为真时返回的值

技术细节

适用于:从MySQL 4.0

更多实例

下面的SQL将按城市为客户排序。但是,如果城市为NULL,则按国家排序::

SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
    WHEN City IS NULL THEN Country
    ELSE City
END);

MySQL函数