oracle里decode
时间: 2023-08-15 14:13:04 浏览: 141
在 Oracle 数据库中,`DECODE` 是一个用于条件判断和返回结果的函数。它的语法如下:
```
DECODE(expr, search1, result1, search2, result2, ..., default)
```
`expr` 是要进行比较的表达式,`search1`、`search2` 等是要进行匹配的值,`result1`、`result2` 等是与匹配值对应的结果,`default` 是可选的默认值。`DECODE` 函数会按照顺序比较 `expr` 和每个 `search` 值,如果相等,则返回对应的 `result` 值;如果没有匹配项,则返回默认值(如果提供了)或者 `NULL`。
举个例子,假设有一张名为 `employees` 的表,其中有一个名为 `salary` 的列。我们可以使用 `DECODE` 函数来根据员工的薪水范围返回不同的级别:
```sql
SELECT name, DECODE(salary,
1000, 'Junior',
2000, 'Mid-level',
3000, 'Senior',
'Unknown') AS level
FROM employees;
```
以上查询会返回员工的姓名和对应的薪水级别。如果员工的薪水是 1000,则级别为 "Junior";如果是 2000,则级别为 "Mid-level";如果是 3000,则级别为 "Senior";否则级别为 "Unknown"。
这就是 Oracle 中 `DECODE` 函数的基本用法。希望能对你有所帮助!如果还有其他问题,请随时提问。
阅读全文