CASE WHEN有哪些用法
时间: 2023-05-18 11:04:40 浏览: 78
CASE WHEN是SQL语言中的条件表达式,可以用于根据条件返回不同的结果。常见的用法包括:
1. 简单的CASE WHEN语句:
CASE WHEN condition1 THEN result1
WHEN condition2 THEN result2
ELSE result3
END
2. 搜索CASE WHEN语句:
CASE expression
WHEN value1 THEN result1
WHEN value2 THEN result2
ELSE result3
END
3. 带有聚合函数的CASE WHEN语句:
SELECT SUM(CASE WHEN condition1 THEN value1 ELSE 0 END) AS result1,
SUM(CASE WHEN condition2 THEN value2 ELSE 0 END) AS result2
FROM table_name
以上就是CASE WHEN的常见用法。
相关问题
case when用法
在SQL中,CASE WHEN语句用于根据一个或多个条件执行不同的操作。它的基本语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE else_result
END
```
其中,`condition1`、`condition2`等是要检查的条件;`result1`、`result2`等是与每个条件相关的结果;`else_result`是所有条件都不满足时的默认结果。
例如,以下代码将根据订单数量计算折扣:
```
SELECT order_id, order_qty,
CASE
WHEN order_qty < 50 THEN order_qty * 0.1
WHEN order_qty < 100 THEN order_qty * 0.2
ELSE order_qty * 0.3
END AS discount
FROM orders;
```
这个查询将返回一个包含订单ID、订单数量和折扣的结果集。如果订单数量小于50,则折扣为订单数量的10%;如果订单数量大于等于50且小于100,则折扣为订单数量的20%;否则,折扣为订单数量的30%。
CASE WHEN用法
CASE WHEN是SQL语言中的条件表达式,用于在查询结果中根据条件进行值的选择或计算。它的基本语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
其中,condition1、condition2等称为条件,result1、result2等称为结果。它的执行过程是按照条件顺序进行匹配,当某个条件为真时,返回对应的结果值。ELSE部分是可选的,用于指定当所有条件都不满足时的默认结果。
举个例子,假设有一个学生成绩表"students",我们想根据分数将学生分为优秀、良好、及格和不及格四个等级,可以使用CASE WHEN来实现:
```
SELECT name, score,
CASE
WHEN score >= 90 THEN '优秀'
WHEN score >= 80 THEN '良好'
WHEN score >= 60 THEN '及格'
ELSE '不及格'
END AS grade
FROM students;
```
这样就能根据学生成绩的不同,将其分为不同的等级,并在查询结果中显示出来。
阅读全文