case when then else end怎么用
时间: 2023-10-13 11:22:19 浏览: 36
CASE WHEN THEN ELSE END 是一种条件表达式,用于在 SQL 查询中根据条件返回不同的结果。
语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN condition3 THEN result3
...
ELSE default_result
END
```
其中,condition1、condition2、condition3 等是不同的条件,result1、result2、result3 等是对应的结果,default_result 是当所有条件都不符合时的默认结果。
例如,下面的查询语句使用 CASE WHEN THEN ELSE END 返回不同的结果:
```
SELECT
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
WHEN score >= 70 THEN 'C'
WHEN score >= 60 THEN 'D'
ELSE 'F'
END AS grade
FROM
students;
```
以上查询根据学生的分数返回不同的等级(A、B、C、D、F)。如果分数大于等于 90,则返回 A,如果分数大于等于 80,则返回 B,以此类推,如果分数小于 60,则返回 F。
相关问题
case when then else end 语法
CASE WHEN THEN ELSE END 是一种 SQL 语句中的条件表达式,它可以根据条件返回不同的结果。它的基本语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END
```
其中,`condition1`、`condition2` 等是条件表达式,`result1`、`result2` 等是对应条件表达式的结果。如果所有条件都不满足,则返回 `ELSE` 后面的结果 `resultN`。
例如,下面的 SQL 语句使用 CASE WHEN THEN ELSE END 来计算员工的薪水:
```
SELECT employee_name,
CASE
WHEN salary > 5000 THEN '高薪'
WHEN salary > 3000 THEN '中薪'
ELSE '低薪'
END AS salary_level
FROM employee;
```
这个语句会根据员工的薪水计算出对应的薪水等级,并将结果作为 `salary_level` 列返回。
oracle的case when then else end用法
Oracle的CASE WHEN THEN ELSE END语句是一种流程控制语句或条件控制语句,类似于Java中的if-else if-else语句,用于根据条件进行逻辑分组或数据分析。在Oracle中,使用CASE WHEN THEN ELSE END可以根据不同的条件返回不同的结果。
下面是一些示例说明Oracle的CASE WHEN THEN ELSE END的用法:
简单CASE函数:
```sql
SELECT name,
age,
CASE sex
WHEN '1' THEN '男孩'
WHEN '2' THEN '女孩'
ELSE '其他'
END AS gender
FROM user;
```
CASE搜索函数:
```sql
SELECT name,
age,
CASE
WHEN sex = '1' THEN '男'
WHEN sex = '2' THEN '女'
ELSE '其他'
END AS gender
FROM user;
```
以上两个例子展示了如何根据性别编码将性别翻译为对应的文字。根据性别(sex)字段的值,CASE WHEN THEN ELSE END语句返回不同的结果。
通过这种方式,你可以根据不同的条件编写逻辑,对数据进行分类或分析。CASE WHEN THEN ELSE END语句在Oracle数据库入门技能中非常常见,是非常有用的工具之一。<span class="em">1</span><span class="em">2</span><span class="em">3</span>