ORACLE 中DECODE和 CASE WHEN函数使用方式
时间: 2024-02-01 11:16:15 浏览: 147
在 Oracle 中,DECODE 和 CASE WHEN 都是用于条件判断和值转换的函数。下面是它们的使用方式:
DECODE 函数:
DECODE 函数接受三个或多个参数。它将第一个参数与后续每对参数进行比较。如果第一个参数等于某个值,则返回相应的第二个参数。如果第一个参数不等于任何值,则返回最后一个参数(可选)。例如:
```
SELECT DECODE(salary, 1000, 'Low', 2000, 'Medium', 'High') AS SalaryLevel
FROM employees;
```
上面的代码将根据 employees 表中的 salary 值返回相应的薪资级别。
CASE WHEN 函数:
CASE WHEN 函数是一种更通用的条件表达式。它可以包含任意数量的 WHEN 子句,每个子句都包含一个条件和相应的结果。它还可以包含一个 ELSE 子句,用于指定当所有 WHEN 子句都不匹配时的默认结果。例如:
```
SELECT CASE WHEN salary < 1000 THEN 'Low'
WHEN salary < 2000 THEN 'Medium'
ELSE 'High'
END AS SalaryLevel
FROM employees;
```
上面的代码将根据 employees 表中的 salary 值返回相应的薪资级别。如果 salary 小于 1000,则返回 'Low';如果 salary 大于等于 1000 且小于 2000,则返回 'Medium';否则返回 'High'。
阅读全文
相关推荐



















