数据库写法case,when
时间: 2023-10-13 08:17:15 浏览: 45
CASE WHEN语句是一种在SQL中使用的条件语句。它允许您根据特定条件执行不同的操作。
语法:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN condition3 THEN result3
...
ELSE default_result
END
```
示例:
假设我们有一个学生成绩表,包含三个字段:学生姓名,科目和分数。我们想要使用CASE WHEN语句来将学生的分数划分为不同的等级:
```
SELECT
name,
subject,
score,
CASE
WHEN score >= 90 THEN '优秀'
WHEN score >= 80 THEN '良好'
WHEN score >= 70 THEN '中等'
WHEN score >= 60 THEN '及格'
ELSE '不及格'
END AS grade
FROM
scores;
```
这将返回一个包含学生姓名,科目,分数和等级的结果集。
在上面的示例中,我们使用了多个WHEN条件。如果所有条件都不满足,则使用ELSE子句中指定的默认结果。在上面的示例中,如果分数低于60分,则学生的等级将被标记为“不及格”。
相关问题
case when写法
在SQL语句中,使用CASE WHEN语句可以根据条件来进行选择和操作。它的基本语法是:CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ELSE result END。其中,condition1、condition2等是条件表达式,result1、result2等是对应条件成立时的结果。
CASE WHEN写法的一个示例是:当orderType等于2时,将类型设为'C',否则设为'D',并计算数量。具体写法如下:
SELECT (CASE WHEN orderType = 2 THEN 'C' ELSE 'D' END) AS '类型', COUNT(*) AS '数量' FROM table GROUP BY orderType。
CASE WHEN语句在SQL中经常用于根据不同的条件返回不同的结果,可以实现灵活的数据处理和显示。这种写法在处理一些数据操作和变更时也非常有用,比如在交换两个主键的值时,可以使用CASE函数来简化操作流程,避免使用临时存储和拷贝的复杂过程。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [case when和sum case when 写法及拼接字段](https://download.csdn.net/download/u013716500/9540627)[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_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [case when 的用法详解](https://blog.csdn.net/Max_Rzdq/article/details/79418893)[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_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [SQL中case when用法详解及使用案例](https://blog.csdn.net/weixin_41979002/article/details/129732042)[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_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
复杂case when写法
当使用复杂的条件逻辑时,可以使用CASE WHEN语句来实现。CASE WHEN语句允许根据条件选择不同的结果。
下面是一个示例,展示了复杂的CASE WHEN写法:
```
SELECT column1,
column2,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN condition3 THEN result3
ELSE result4
END AS new_column
FROM table_name;
```
在上面的示例中,我们有一个表格`table_name`,包含了`column1`和`column2`两列。我们使用CASE WHEN语句来创建一个新的列`new_column`,根据不同的条件选择不同的结果。
在CASE WHEN语句中,我们可以使用多个WHEN子句来定义不同的条件和对应的结果。每个WHEN子句都包含一个条件和一个结果。如果条件满足,则返回对应的结果。如果没有任何条件满足,则返回ELSE子句中定义的结果。
以下是对上述示例中使用的关键词和概念的解释:
- `column1`和`column2`:表格中的列名,可以根据实际情况替换为具体的列名。
- `condition1`、`condition2`、`condition3`:条件表达式,可以是任何合法的逻辑表达式。
- `result1`、`result2`、`result3`、`result4`:根据条件满足与否返回的结果,可以是列名、常量值或表达式。