oracle中decode语法
时间: 2023-06-29 13:15:43 浏览: 94
在Oracle中,DECODE函数是一个条件表达式,用于根据一个或多个条件表达式的结果返回一个值。它的语法如下:
```
DECODE(expr, search1, result1, search2, result2, ..., default)
```
其中,expr是要进行比较的表达式;search1, search2, ...是要比较的值;result1, result2, ...是相应的匹配结果;default是可选的默认值,表示当expr没有匹配到任何值时返回的结果。
DECODE函数的工作方式类似于switch语句,它会按顺序比较expr和每个search值,并返回相应的结果。如果没有找到匹配的search值,则返回default值(如果指定了)或null。
例如,以下是一个使用DECODE函数的示例,它将根据job_id返回相应的工资等级:
```
SELECT first_name, last_name, DECODE(job_id,
'AD_PRES', 'A',
'AD_VP', 'B',
'IT_PROG', 'C',
'SA_MAN', 'D',
'SA_REP', 'E',
'ST_CLERK', 'F',
'ST_MAN', 'G',
'ST_REP', 'H') AS salary_grade
FROM employees;
```
在这个示例中,DECODE函数比较job_id和每个search值,返回相应的结果。如果job_id没有匹配任何search值,则返回null。
阅读全文