DECODE函数相当于条件语句(IF),将输入数值与行数中的参数列表比较,根据输入值返回一个对应值。语法格式如下
DECODE(input,value,result[,value,result...][,default_result]);
input是处理的数值;
value是与input值匹配的值;
result是匹配返回结果
default_result是未匹配返回结果
DECODE函数的使用:
/* 显示所有工资大于2000的员工的姓名、工资,如果该员工部门为10,
则显示部门名称为“ACCOUNTING”;如果该员工部门好为20,
则显示部门名称为“RESEARCH”;如果该员工还未分配部门号,
则显示部门名称为“NONE”;其他情况,则显示部门名称“OTHERS”*/
SELECT ENAME,
SAL,
DECODE(DEPTNO,
10,
'ACCOUNTING',
20,
'RESEARCH',
NULL,
'NONE',
'OTHERS') DNAME
FROM EMP
WHERE SAL > 2000