2024年3月14日发(作者:)
sql中case when用法详解
SQL中的CASE WHEN语句是一种条件表达式,用于根据条件执行不同的操作。它
允许您在查询中根据满足的条件返回不同的结果。
CASE WHEN语句的结构如下:
```sql
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
在这个结构中,您可以根据条件列表指定多个WHEN子句。每个WHEN子句包含一
个条件和一个与之关联的结果。如果条件满足,对应的结果将被返回。如果没
有任何条件满足,ELSE子句中的默认结果将被返回。
以下是一些示例,说明CASE WHEN语句的用法:
1. 根据列值返回不同的结果:
```sql
SELECT
CASE column_name
WHEN 'value1' THEN 'Result A'
WHEN 'value2' THEN 'Result B'
ELSE 'Other Result'
END AS result_column
FROM table_name;
```
在这个示例中,根据column_name列的值,返回不同的结果。如果值为'value1',
返回'Result A';如果值为'value2',返回'Result B';否则,返回'Other Result'。
2. 根据查询结果集中的值返回不同的结果:
```sql
SELECT
CASE
WHEN column1 > 100 THEN 'Value is greater than 100'
WHEN column2 < 50 THEN 'Value is less than 50'
1
ELSE 'Value is between 50 and 100'
END AS result_column
FROM table_name;
```
在这个示例中,根据查询结果集中的列值(column1和column2)进行判断,返
回不同的结果。如果column1的值大于100,返回'Value is greater than 100';
如果column2的值小于50,返回'Value is less than 50';否则,返回'Value is
between 50 and 100'。
3. 根据多个条件返回不同的结果:
```sql
SELECT
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN condition3 THEN result3
ELSE result4
END AS result_column
FROM table_name;
```
在这个示例中,根据满足的条件列表,返回不同的结果。如果满足condition1,
返回result1;如果满足condition2,返回result2;如果满足condition3,返回
result3;否则,返回result4。您可以根据需要添加更多的WHEN子句来处理不
同的条件和结果。
2


发布评论