Oracle에서 개발할 때 사용하는 함수들 중 NVL함수에 대해 활용법에 대해서 작성하려고 한다.
이전에는 NVL은 그냥 [NULL값을 치환해주는 함수]로만 생각하며 쿼리를 작성하였다.
[EX_1] 단순한 NVL함수 활용법 (NULL값 치환)
Table A
SELECT
NVL(CODE, '123') AS CODE,
NAME
FROM A
실행 값
※ 이렇게 NULL값을 채운다는 생각으로만 쓰였지만
두 개 이상의 테이블을 조인할 때 좀 더 유용하게 NVL함수를 사용을 할 수 있다.
[EX_2]
다음과 같이 두 개의 테이블을 조인하여 같은 회사(COMPANY_CD)에서 A.CODE 칼럼과 B.CODE_TYPE 칼럼을 서로 매칭 하여 B 테이블의 NULL값을 포함한 TIGON이라는 값을 얻으려고 할 때 NVL을 사용할 수 있다.
처음에는 NULL값이라서 매칭을 할 수 없는데 어떻게 결과값을 도출할 수 있을까 생각을 했었다.
SELECT
A.COMPANY_CD,
B.TIGON
FROM A
INNER JOIN B
ON A.COMPANY_CD = B.COMPANY_CD
AND A.CODE = NVL(B.CODE_TYPE, A.CODE)
이상.
'SQL > ORACLE' 카테고리의 다른 글
[ORACLE] 값 하나씩 올라가는 시퀀스 생성하기 (0) | 2019.07.18 |
---|---|
[ORACLE] 달러 환율 및 원화 구하기 (0) | 2019.07.18 |