case when 怎么用
时间: 2023-07-17 16:03:38 浏览: 118
`CASE WHEN` 是 SQL 中的条件语句,用于根据一定的条件判断来返回不同的结果。语法如下:
```
CASE WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
```
其中,`condition1`、`condition2` 等是条件表达式,可以是任意的布尔表达式;`result1`、`result2` 等是对应条件表达式为真时的返回结果;`default_result` 是当所有条件表达式都为假时的默认返回结果。
例如,我们有一个 `students` 表,其中包含学生的姓名和分数两个字段,现在需要根据分数给出评级。如果分数大于等于 90 分,则为 A 级,大于等于 80 分则为 B 级,大于等于 70 分则为 C 级,否则为 D 级。可以使用 `CASE WHEN` 语句来实现,如下所示:
```
SELECT name, score,
CASE WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
WHEN score >= 70 THEN 'C'
ELSE 'D'
END AS grade
FROM students;
```
上述 SQL 语句会查询出每个学生的姓名、分数以及对应的评级,并将评级作为新列 `grade` 返回。
相关问题
case when使用
case when是一种条件语句,用于根据不同的条件返回不同的结果。在SQL查询中,可以使用case when来实现对某一列进行条件判断并返回相应的结果。其中,可以根据不同的条件分别设定对应的结果。
例如,可以使用case when来根据员工的职级(job_level)来判断并返回相应的结果。比如,当职级为1时,返回'1111',当职级为2时,返回'1111',当职级为3时,返回'1111',否则返回'eee'。这个查询语句可以写成:
SELECT
CASE job_level
WHEN '1' THEN '1111'
WHEN '2' THEN '1111'
WHEN '3' THEN '1111'
ELSE 'eee'
END
FROM dbo.employee
除此之外,case when还可以结合其他条件语句一起使用,如where语句。在where语句后面使用case when时,需要注意一些情况,比如语句的执行顺序和判断式的写法。
总之,case when可以根据不同的条件返回不同的结果,可以在查询语句中灵活运用,实现数据分组、条件判断等各种功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [case when的使用方法](https://blog.csdn.net/sofeware333/article/details/115967276)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [CASE When的用法](https://blog.csdn.net/qq_42707594/article/details/122195661)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
ORACLE CASE WHEN使用
ORACLE中的CASE WHEN是一种条件表达式,可用于在SELECT语句中返回不同的结果,具体语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END
```
其中,condition1、condition2等是要检查的条件;result1、result2等是与每个条件相关的结果;ELSE子句是在所有条件都不满足时返回的结果。
例如,以下示例查询根据员工的工资级别返回不同的奖金:
```
SELECT last_name, salary,
CASE
WHEN salary >= 10000 THEN salary * 0.2
WHEN salary >= 5000 THEN salary * 0.1
ELSE salary * 0.05
END AS bonus
FROM employees;
```
以上查询将根据员工的工资级别返回不同的奖金,并将结果作为名为bonus的新列返回。
阅读全文