Oracle特有的DECODE函数的使用 |
|
Oracle中的 DECODE(expression, search1, result1, [search2, result2, ...], [default])
使用示例基本用法: 假设我们有一个名为 select empno,ename,job,sal,decode(sal,5000,'H',3000,'M','L') as sal_desc from scott.emp;
多条件判断: 假设我们有一个名为 select empno,ename,job,sal,deptno,
decode(deptno,10,'ACCOUNTING',20,'RESEARCH',30,'SALES','OPERATIONS') as dept_desc
from scott.emp;
DECODE实现行列转换 SELECT deptno,
nvl(SUM(decode(job, 'MANAGER', sal)), 0) s_MANAGER,
nvl(SUM(decode(job, 'ANALYST', sal)), 0) s_ANALYST,
nvl(SUM(decode(job, 'CLERK', sal)), 0) s_CLERK,
nvl(SUM(decode(job, 'PRESIDENT', sal)), 0) s_PRESIDENT,
nvl(SUM(decode(job, 'SALESMAN', sal)), 0) s_SALESMAN
FROM scott.emp
GROUP BY deptno;
嵌套DECODE函数: 在某些情况下,你可能需要基于多个条件进行更复杂的判断,这时可以使用嵌套的 与其他SQL语句结合使用:
注意事项
到此这篇关于Oracle特有的DECODE函数的使用的文章就介绍到这了,更多相关Oracle DECODE函数内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持! |