温馨提示×

sql case when的用法有哪些

小亿
92
2023-07-06 19:40:51
栏目: 云计算

SQL中的CASE WHEN语句用于根据条件执行不同的操作。它可以有多个WHEN子句和一个可选的ELSE子句。以下是CASE WHEN语句的几种常见用法:

  1. 简单CASE WHEN语句:
CASE column_name
WHEN value1 THEN result1
WHEN value2 THEN result2
...
ELSE result
END

根据column_name的值进行匹配,如果匹配到value1,则返回result1;如果匹配到value2,则返回result2;否则返回result。

  1. 搜索CASE WHEN语句:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END

根据条件进行匹配,如果满足condition1,则返回result1;如果满足condition2,则返回result2;否则返回result。

  1. 嵌套CASE WHEN语句:
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语句,以实现更复杂的条件逻辑。

  1. 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语句的一些常见用法,根据具体的需求还可以进行更多的组合和变化。

0