본문 바로가기
IT/ORACLE

[ORACLE] DECODE 함수 사용법

by 베베야 2021. 5. 7.
728x90

오늘은 오라클에서 사용하는 DECODE 함수에 사용법에 대해서 알아보도록 하겠습니다.
(MSSQL에서는 case 문으로 대처가 가능합니다.)

 

문법

이름이 홍길동이면 A를 아니면 B를 반환합니다.

--ORACLE 문법
DECODE(이름,'홍길동','A','B')


--MSSQL 문법
CASE
WHEN '이름' = '홍길동' THEN 'A'
WHEN '이름' <> '홍길동' THEN 'B'
END

 

예문

[조직테이블]
조직ID 조직명
AA     강남 
BB     영등포
CC     신촌
DD     을지로

[영업고객 테이블]
고객번호 고객구분코드 담당조직ID
1        A1            AA
2        A2            BB
3        A2            BB
4        B1            CC
5        B1            NULL
6        A1            NULL

쿼리
SELECT A.고객번호, A,고객구분코드, B.조직명
FROM 영업고객 A, 조직 B
WHERE B.조직ID = DECODE(A.고객구분코드,'B1','AA',A.담당조직ID
ORDER BY A.고객번호;

결과값
고객번호 고객구분코드 조직명
1        A1            강남
2        A1            영등포
3        A1            영등포
4        B1            강남
5        B1            강남


이상으로 DECODE 함수 설명을 마치겠습니다.

반응형
그리드형

댓글