在SQL中,WHEN
是 CASE
表达式的一部分,用于指定每个 CASE
子句的条件。WHEN
后面必须跟一个条件表达式,表示当该条件为真时,执行该子句。
WHEN
子句通常与 CASE
结构一起使用,用于根据不同的条件执行不同的操作。以下是 WHEN
的使用方法:
- 使用
WHEN
子句进行简单的条件判断:
SELECT column1,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END AS result_column
FROM table_name;
在上面的示例中,根据不同的条件(condition1
、condition2
等),执行相应的操作并返回相应的结果列。
- 使用
WHEN
子句进行复杂的条件判断:
SELECT column1,
CASE
WHEN condition1 AND condition2 THEN result1
WHEN condition3 OR condition4 THEN result2
...
ELSE result
END AS result_column
FROM table_name;
在上面的示例中,可以使用逻辑运算符(如 AND
、OR
)将多个条件组合起来,并根据复杂的条件执行相应的操作。
需要注意的是,WHEN
子句的顺序非常重要,因为 CASE
表达式会从上到下逐一检查每个 WHEN
子句,并执行第一个符合条件的子句。如果没有任何条件为真,将执行 ELSE
子句中的操作。