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 함수 설명을 마치겠습니다.
반응형
그리드형
'IT > ORACLE' 카테고리의 다른 글
[ORACLE] START WITH와 CONNECT BY 설명 및 예제 (0) | 2021.05.11 |
---|---|
[ORACLE] LPAD, RPAD 함수 사용법 & 예제 (0) | 2021.05.07 |
오라클(ORACLE) 시간 포맷(1/24/60) (0) | 2021.04.23 |
ORA-02049 시간초과 분산 트랜잭션이 잠금으로 대기중입니다 해결방법 (1) | 2021.04.02 |
오라클 쿼리 세션 타임아웃 설정 (0) | 2021.04.02 |
댓글