sql语句中case怎么用
时间: 2023-11-27 22:06:07 浏览: 57
在SQL中,CASE语句用于根据条件执行不同的操作。CASE语句有两种形式:简单CASE和搜索CASE。下面我将分别介绍两种形式的使用方法。
1. 简单CASE语句
简单CASE语句是在一个字段或表达式上进行比较,根据匹配的条件返回特定的值。其语法如下:
```
CASE expression
WHEN value1 THEN result1
WHEN value2 THEN result2
...
ELSE result
END
```
其中,expression是要进行比较的字段或表达式,value1、value2等是要匹配的值,result1、result2等是匹配成功后返回的结果,ELSE子句用于处理无法匹配的情况。
例如,假设有一个学生表,其中有一个字段是score,根据score的值返回不同的等级,可以使用以下SQL语句:
```
SELECT
name,
score,
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
WHEN score >= 70 THEN 'C'
WHEN score >= 60 THEN 'D'
ELSE 'E'
END AS grade
FROM
student;
```
2. 搜索CASE语句
搜索CASE语句是在多个表达式上进行比较,根据匹配的条件返回特定的值。其语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
其中,condition1、condition2等是要匹配的条件,result1、result2等是匹配成功后返回的结果,ELSE子句用于处理无法匹配的情况。
例如,假设有一个订单表,其中有一个字段是amount,根据amount的值返回不同的折扣率,可以使用以下SQL语句:
```
SELECT
order_id,
amount,
CASE
WHEN amount > 5000 THEN 0.1
WHEN amount > 3000 THEN 0.05
WHEN amount > 1000 THEN 0.03
ELSE 0
END AS discount
FROM
orders;
```
阅读全文