SQL中的CASE WHEN语句用于根据条件执行不同的操作。它可以有多个WHEN子句和一个可选的ELSE子句。以下是CASE WHEN语句的几种常见用法:
CASE column_name
WHEN value1 THEN result1
WHEN value2 THEN result2
...
ELSE result
END
根据column_name的值进行匹配,如果匹配到value1,则返回result1;如果匹配到value2,则返回result2;否则返回result。
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
根据条件进行匹配,如果满足condition1,则返回result1;如果满足condition2,则返回result2;否则返回result。
CASE
WHEN condition1 THEN
CASE
WHEN nested_condition1 THEN nested_result1
WHEN nested_condition2 THEN nested_result2
...
ELSE nested_result
END
WHEN condition2 THEN result2
...
ELSE result
END
在WHEN子句中可以嵌套另一个CASE WHEN语句,以实现更复杂的条件逻辑。
SELECT column_name,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END AS new_column
FROM table_name
在SELECT语句中使用CASE WHEN语句,可以根据条件计算新的列值。
这些只是CASE WHEN语句的一些常见用法,根据具体的需求还可以进行更多的组合和变化。