삽질의 리포팅

5.5 General Functions

느린구름 2011. 7. 28. 19:27

   

오라클 클럽: http://www.oracleclub.com/lecture/1028

   

NVL

  • NULL값을 다른 값으로 바꿀 때 사용
  • 모든 데이터 타입에 적용

       

--Comm이 없는 사원에 0으로 바꿔 출력

SELECT empno, NVL(comm., 0)

FROM emp

WHERE deptno = 30;

   

EMPNO NVL(COMM,0)

---------- -----------

7499 300

7521 500

7698 0

7844 0

   

DECODE

  • 데이터들을 다른 값으로 바꿈
  • DECODE(VALUE, IF1, THEN1, IF2, THEN2…)형태로 사용
  • VALUE값이 IF1일 경우 THEN1값으로 변경, VALUE값이 IF2일 경우 THEN2값으로 변경

 SELECT deptno,

DECODE(deptno, 10, 'ACCOUNTING',
                         
20, 'RESEARCH',
                         
30, 'SALES',
                         
40, 'OPERATIONS')
FROM emp;

DEPTNO DECODE(DEP

---------- ----------

20 RESEARCH
30 SALES
30 SALES
10 ACCOUNTING
20 RESEARCH