프로그래밍

[ORALCE/오라클] DECODE 사용법

호빵 뜨거운호빵 2018. 12. 7. 00:30
반응형

ㅇ안녕하세요. 

이번 포스팅에서는 오라클의 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 사용법 포스팅을 마치도록 하겠습니다.

반응형