Case when语句多when写法
时间: 2023-11-19 12:06:26 浏览: 38
当需要对多个条件进行判断时,可以使用case when语句的多when写法。具体语法如下:
```
CASE expression
WHEN value1 THEN result1
WHEN value2 THEN result2
WHEN value3 THEN result3
...
ELSE default_result
END
```
其中,expression是需要进行判断的表达式,value1、value2、value3等是需要比较的值,result1、result2、result3等是对应的结果,default_result是当所有条件都不满足时的默认结果。
使用多when写法,可以让代码更加简洁、清晰,尤其是当需要进行多个条件判断时,可以避免使用过多的if-else语句。
相关问题
Case when语句多when提示缺失关键字
在使用case when语句多when写法时,需要保证每个when子句后面都有对应的then子句和结果,否则会提示缺失关键字的错误。
例如,下面的语句就会提示缺失关键字的错误:
```
SELECT
CASE gender
WHEN 'male' THEN '男'
WHEN 'female' THEN '女'
WHEN 'other'
END AS gender_zh
FROM users;
```
因为第三个when子句后面没有对应的then子句和结果,所以会提示缺失关键字的错误。要修复这个错误,可以添加一个默认结果,例如:
```
SELECT
CASE gender
WHEN 'male' THEN '男'
WHEN 'female' THEN '女'
WHEN 'other' THEN '其他'
END AS gender_zh
FROM users;
```
这样就可以保证每个when子句后面都有对应的then子句和结果,不会再提示缺失关键字的错误。
多case when写法
多 case when 写法是 SQL 中用于对多种情况进行条件判断和处理的语法,格式如下:
```
SELECT
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
FROM table_name;
```
其中,condition1、condition2 等为条件语句,result1、result2 等为满足条件时的返回结果,default_result 则为默认返回结果。
以下是一个示例,演示如何使用多 case when 写法:
```
SELECT
order_id,
CASE
WHEN quantity > 10 THEN 'large'
WHEN quantity > 5 THEN 'medium'
ELSE 'small'
END AS size
FROM orders;
```
上述语句会根据订单中的商品数量判断其大小,并以 "large"、"medium" 或 "small" 的形式进行返回。
此外,还可以使用嵌套的 case when 语句,实现更加复杂的条件判断和处理。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)