sql when case 用法
时间: 2023-03-02 18:16:03 浏览: 132
SQL 的 `CASE` 语句用于根据不同的条件来执行不同的操作。它可以被用在 `SELECT`、`UPDATE`、`DELETE` 和 `SET` 语句中。
`CASE` 语句的基本语法如下:
```
CASE
WHEN condition THEN result
WHEN condition THEN result
ELSE result
END
```
例如,假设你有一张表,表中有一列 `grade` 表示学生的成绩,你想要通过 `CASE` 语句来将学生的成绩分类为优秀、良好和及格三类,你可以这样写:
```
SELECT grade,
CASE
WHEN grade >= 90 THEN '优秀'
WHEN grade >= 80 THEN '良好'
ELSE '及格'
END AS performance
FROM students;
```
这个语句会将 `grade` 列中大于等于 90 的值映射为 '优秀',大于等于 80 且小于 90 的值映射为 '良好',剩余的值都映射为 '及格'。
注意,在 `CASE` 语句中,只有第一个满足条件的 `WHEN` 子句的结果会被返回,所以一定要注意条件的顺序。
相关问题
sql whencase
回答: 在SQL中,WHEN CASE是一种条件表达式函数,用于根据不同的条件返回不同的结果。它可以根据给定的条件对一个或多个列进行判断,并根据判断结果返回相应的值。在使用WHEN CASE时,需要注意的是,THEN后面的值与ELSE后面的值的类型应该一致,否则会报错。另外,可以使用简化的语法形式来实现相同的功能,如使用CASE SCORE WHEN 'A' THEN '优' ELSE '不及格' END来代替CASE WHEN SCORE = 'A' THEN '优' WHEN SCORE = 'B' THEN '良' WHEN SCORE = 'C' THEN '中' ELSE '不及格' END。\[1\]\[2\]\[3\]
#### 引用[.reference_title]
- *1* *2* [sql case when的用法(转)](https://blog.csdn.net/weixin_43955984/article/details/101000234)[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^v91^control,239^v4^insert_chatgpt"}} ] [.reference_item]
- *3* [SQL之CASE WHEN用法详解](https://blog.csdn.net/rongtaoup/article/details/82183743)[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^v91^control,239^v4^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
sqlcase when用法
SQL中的`CASE`语句用于在查询中实现逻辑分支。`CASE`语句有两种格式:简单格式和搜索格式。其中,`CASE WHEN`用法属于搜索格式,可以根据不同的条件返回不同的结果。具体语法如下:
```sql
CASE WHEN condition1 THEN result1
[ WHEN condition2 THEN result2 ]
...
[ ELSE resultN ]
END
```
这个语句的意思是:如果`condition1`为真,则返回`result1`,如果`condition2`为真,则返回`result2`,依此类推。如果所有的条件都不满足,则返回`resultN`(如果有指定`ELSE`部分的话)。如果没有`ELSE`部分且没有条件满足,则返回NULL。
下面是一个具体的例子:
```sql
SELECT
employee_id,
name,
salary,
CASE WHEN salary < 3000 THEN '低'
WHEN salary BETWEEN 3000 AND 5000 THEN '中'
WHEN salary > 5000 THEN '高'
END AS salary_level
FROM employees;
```
这个查询会返回每个员工的ID、姓名和薪水,并且会基于薪水的多少给每位员工的薪水水平做一个分类。
阅读全文
相关推荐













