case when条件判断函数
时间: 2024-07-03 16:00:54 浏览: 118
SqlServer使用 case when 解决多条件模糊查询问题
`CASE WHEN` 是一种在 SQL(结构化查询语言)中使用的条件表达式,也称为 CASE 语句或条件判断函数。它用于根据特定的条件返回不同的结果值,常用于数据操纵和分析过程中对数据进行分组、过滤或转换。
CASE WHEN 结构的基本语法如下:
```sql
CASE
WHEN condition_1 THEN result_1
[WHEN condition_2 THEN result_2]
[ELSE default_result]
END
```
- `condition_1`, `condition_2`...:这些是需要检查的条件,如果某个条件为真,对应的 `result_1`, `result_2` 就会被返回。
- `result_1`, `result_2`...:当条件为真时,执行的结果,可以是数值、文本或其他数据类型。
- `ELSE` 子句可选:如果所有 `WHEN` 条件都不满足,就会执行这个默认结果。
例如,假设有一个包含员工工资的表,你想根据是否达到基本工资发放奖金:
```sql
SELECT
employee_id,
CASE
WHEN salary > basic_salary THEN 'Full Bonus'
WHEN salary = basic_salary THEN 'Partial Bonus'
ELSE 'No Bonus'
END AS bonus_status
FROM employees;
```
这里,`CASE WHEN` 根据 `salary` 是否大于 `basic_salary` 来决定奖金状态。
阅读全文