oracle select if else语句_Oracle:Select语句_函数
时间: 2023-07-30 12:05:47 浏览: 63
在 Oracle 中,可以使用 CASE 表达式来实现类似于 if-else 的逻辑,该表达式的语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
```
其中,condition1、condition2 等为条件表达式,result1、result2 等为对应条件成立时的返回值,default_result 则为所有条件都不成立时的默认返回值。
举个例子,假设我们有一个员工表,其中有员工姓名、薪水和职位三个字段。现在要根据不同职位的薪水情况,给出相应的评价,可以使用如下 SELECT 语句:
```
SELECT
name,
salary,
CASE
WHEN salary >= 10000 THEN '优秀'
WHEN salary >= 8000 THEN '良好'
WHEN salary >= 6000 THEN '合格'
ELSE '待提高'
END AS evaluation
FROM employee;
```
该语句会根据薪水情况返回相应的评价,如下所示:
```
| name | salary | evaluation |
|------|--------|------------|
| 张三 | 12000 | 优秀 |
| 李四 | 9000 | 良好 |
| 王五 | 6000 | 合格 |
| 赵六 | 4000 | 待提高 |
```
除了 CASE 表达式外,Oracle 中还有 DECODE 函数可以实现类似 if-else 的逻辑。不过,DECODE 在使用时需要注意一些细节,比如只支持相等条件,不支持范围条件等。