프로그래밍

[ORALCE/오라클] DECODE 사용법

핫호빵 2018. 12. 7.
반응형

ㅇ안녕하세요. 

이번 포스팅에서는 오라클의 DECODE 사용법에 대해서 알아보도록 하겠습니다.


DECODE는 프로그래밍 언어에서 흔히 사용하는 IF 문과 비슷한 기능을 하는데요. CASE보다 기능이 약하기는 하지만 손쉽게 사용할 수있어 SQL 쿼리문을 작성할 때 즐겨 사용하는 기능입니다.


주요 사용법은 다음과 같습니다.


1. JOB컬럼 값이 'ANALYST'이면 1, 그렇지 않으면 2를 출력



SELECT EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO

,DECODE(JOB,'ANALYST',1,2)

FROM EMP;


2. JOB컬럼 값이 'ANALYST'이면 1, 'CLERK'이면 2 그렇지 않으면 3을 출력



SELECT EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO

,  DECODE(JOB,'ANALYST',1, 'CLERK', 2, 3)

FROM EMP

ORDER BY JOB


3. JOB컬럼 값이 'ANALYST'이면서 ENAME값이 SCOTT 이면 '확정', 아니면 '미정'을 출력



SELECT EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO

,  DECODE(JOB,'ANALYST', DECODE(ENAME,'SCOTT','확정','미정')) DECODE1

,  DECODE(JOB,'ANALYST', DECODE(ENAME,'SCOTT','확정','미정'),'미정') DECODE2

FROM EMP

ORDER BY JOB


4. DECODE에서 NULL값 비교하기 JOB이 NULL이면 1 아니면 2


SELECT DECODE(JOB, NULL,1,2) 

FROM EMP


이상으로  오라클의 DECODE 사용법 포스팅을 마치도록 하겠습니다.

반응형

댓글