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;