SQL CASE 表达式

SQL CASE 表达式

CASE 表达式用于根据 SQL 语句中指定的条件定义不同的结果。

CASE 表达式会逐个检查条件,并在找到第一个匹配项时停止(类似于 if-then-else 语句)。因此,一旦某个条件为真,它将停止处理并返回结果。如果没有条件为真,则返回 ELSE 子句中的值。如果没有 ELSE 子句且没有条件为真,则返回 NULL。

CASE 语法

CASE
  WHEN condition1 THEN result1
  WHEN condition2 THEN result2
  WHEN conditionN THEN resultN
  ELSE default_result
END;

SQL CASE 示例

这里我们使用 CASE 表达式对数据(Price)进行分类,并创建一个新列(PriceCategory),用于显示每个产品所属的价格类别:

实例

SELECT ProductName, Price,
CASE
  WHEN Price < 20 THEN 'Low Cost'
  WHEN Price BETWEEN 20 AND 50 THEN 'Medium Cost'
  ELSE 'High Cost'
END AS PriceCategory
FROM Products;

亲自试一试