sql when case then
时间: 2023-04-19 10:02:15 浏览: 116
SQL的WHEN CASE THEN是一种条件表达式语句,可以根据条件返回不同的结果。它的语法如下:
```
SELECT
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END
FROM table_name;
```
其中,condition1, condition2, …是不同的条件表达式,result1, result2, …是每个条件对应的结果。如果所有条件都不符合,就返回ELSE后面的结果N。这个语句可以用在SELECT、UPDATE、INSERT和DELETE语句中。
相关问题
sql的when case then
当我们需要根据不同的条件返回不同的结果时,可以使用SQL中的when case then语句。它是一种查找型表达式,可以根据条件返回不同的结果。当条件为真时,返回相应的表达式,否则返回默认表达式。在when case then语句中,when子句会从上到下地执行,只要有一个when子句值为真,就会返回相应的表达式,同时忽略其他when子句。如果没有一个when子句条件的值为真,那么将会返回else子句里的表达式。当然,else子句是可选的。在使用when case then语句时,需要注意各种各样的when子句返回的所有表达式的计算结果必须类型相同(如日期型、数字型、变长字符串类型等)。
举个例子,假设我们有一个学生表,其中有id、name、sex、math、english等字段。我们想要查询该表男生和女生的人数,可以使用如下的SQL语句:
SELECT
SUM(CASE WHEN sex = '1' THEN 1 ELSE 0 END) AS male_count,
SUM(CASE WHEN sex = '2' THEN 1 ELSE 0 END) AS female_count
FROM student;
这个语句中,我们使用了两个when case then语句,分别用于统计男生和女生的人数。当sex字段为1时,返回1,否则返回0。最后使用SUM函数对返回的结果进行求和,得到男生和女生的人数。
sql case when then
在SQL中,CASE语句用于根据条件返回不同的结果表达式。CASE语句的语法如下:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
在这个语法中,condition1、condition2等是条件,result1、result2等是对应条件为真时返回的结果表达式。ELSE子句是可选的,用于指定当所有条件都不满足时的默认结果表达式。 [2 [3]
例如,在查询学生成绩时,可以使用CASE语句将分数转换为对应的等级:
SELECT student_name,
CASE
WHEN score >= 90 THEN '优秀'
WHEN score >= 80 THEN '良好'
WHEN score >= 70 THEN '中等'
WHEN score >= 60 THEN '及格'
ELSE '不及格'
END AS grade
FROM student_scores;
这个查询会根据学生的分数给出相应的等级,如果没有满足任何条件,就返回不及格。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [SQL中case when then用法](https://blog.csdn.net/qq_21036939/article/details/90176929)[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^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [SQL之case when then用法简介](https://blog.csdn.net/rr19941112/article/details/121977545)[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^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文