sql when case 用法
时间: 2023-03-02 21:16:03 浏览: 120
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 ]
sql case when用法
SQL中的CASE WHEN用法是一种条件表达式,可以根据不同的条件执行不同的操作。它的基本语法如下:
```sql
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
其中,condition1、condition2等为条件表达式,result1、result2等为条件满足时的结果。ELSE关键字后面的result是当所有条件都不满足时的默认结果。
以下是一个简单的例子,演示了CASE WHEN的使用场景:
```sql
SELECT employee_id, first_name, last_name,
CASE
WHEN salary < 5000 THEN 'Low'
WHEN salary >= 5000 AND salary < 10000 THEN 'Medium'
ELSE 'High'
END AS salary_range
FROM employees;
```
上述示例中,根据员工的薪水salary,将其分为'Low'、'Medium'和'High'三个薪水范围,并将结果存储在名为'salary_range'的列中。
希望这个例子能帮助你理解SQL中的CASE WHEN用法。如果还有其他问题,请随时提问!
阅读全文