oracle case when 多个条件简写
时间: 2023-10-31 20:56:18 浏览: 36
在 Oracle 中,可以使用 CASE 表达式来完成多个条件的简写。具体语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
WHEN conditionN THEN resultN
ELSE result
END
```
其中,`condition1`、`condition2`、...、`conditionN` 是多个条件,`result1`、`result2`、...、`resultN` 是对应条件的结果,`result` 是默认结果。如果其中的某个条件成立,则返回对应的结果;如果所有条件都不成立,则返回默认结果。
例如,以下代码展示了一个简单的 CASE 表达式,如果 `age` 大于等于 18,则返回字符串 `'成年人'`,否则返回字符串 `'未成年人'`:
```
SELECT name, age,
CASE WHEN age >= 18 THEN '成年人' ELSE '未成年人' END AS status
FROM users;
```
注意,在 Oracle 中,CASE 表达式是可以嵌套的,这样可以实现更加复杂的逻辑。
相关问题
oracle case when 多个条件简写,有什么函数可以简写
在 Oracle 中,可以使用 DECODE 函数来简写多个条件的 CASE WHEN 语句。DECODE 函数的语法如下:
```
DECODE(expression, search1, result1, search2, result2, ..., default)
```
其中,expression 表示要进行匹配的表达式,search1, search2, ... 表示要匹配的值,result1, result2, ... 表示匹配成功后返回的结果,default 表示如果没有匹配成功的值,则返回 default。
例如,以下 CASE WHEN 语句可以使用 DECODE 函数进行简写:
```
CASE
WHEN column = 'value1' THEN 'result1'
WHEN column = 'value2' THEN 'result2'
WHEN column = 'value3' THEN 'result3'
ELSE 'default'
END
```
可以简写为:
```
DECODE(column, 'value1', 'result1', 'value2', 'result2', 'value3', 'result3', 'default')
```
使用 DECODE 函数可以使代码更简洁易懂。
oraclecase when 多个条件
在Oracle数据库中,使用CASE WHEN语句可以处理多个条件。它的基本语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
在这个语法中,可以有多个WHEN条件和对应的结果,直到遇到ELSE条件为止。如果不满足任何一个条件,就会返回ELSE后面的结果。
例如,假设我们有一个学生成绩表,其中包含学生的姓名、科目和分数。我们想要根据不同的分数范围来给学生评级,可以使用CASE WHEN语句来实现:
```
SELECT name,
score,
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
WHEN score >= 70 THEN 'C'
ELSE 'D'
END AS grade
FROM scores_table;
```
在这个例子中,当分数大于等于90时,评级为A;当分数大于等于80时,评级为B;当分数大于等于70时,评级为C;否则评级为D。