sql server CASE WHEN
时间: 2023-09-28 19:11:54 浏览: 152
SQL Server中的CASE WHEN语句是一种条件表达式,用于根据条件在查询中选择不同的结果。它有两种格式:简单CASE函数和CASE搜索函数。简单CASE函数适用于需要根据一个列的不同值进行判断的情况,而CASE搜索函数则适用于更复杂的条件判断。
简单CASE函数的语法格式如下:
```
CASE 列名
WHEN 条件值1 THEN 选项1
WHEN 条件值2 THEN 选项2
...
ELSE 默认值
END
```
例如,以下查询将根据job_level列的不同值返回不同的结果:
```
SELECT
CASE job_level
WHEN '1' THEN '1111'
WHEN '2' THEN '1111'
WHEN '3' THEN '1111'
ELSE 'eee'
END
FROM dbo.employee
```
CASE搜索函数的语法格式如下:
```
CASE
WHEN 列名 = 条件值1 THEN 选项1
WHEN 列名 = 条件值2 THEN 选项2
...
ELSE 默认值
END
```
例如,以下查询将根据job_level列的不同值将e_wage列更新为不同的值:
```
UPDATE employee
SET e_wage =
CASE
WHEN job_level = '1' THEN e_wage * 1.97
WHEN job_level = '2' THEN e_wage * 1.07
WHEN job_level = '3' THEN e_wage * 1.06
ELSE e_wage * 1.05
END
```
通过使用CASE WHEN语句,可以根据条件灵活地选择不同的操作。无论是简单的条件判断还是更复杂的条件组合,SQL Server中的CASE WHEN语句都可以帮助你实现所需的结果。
阅读全文