본문 바로가기
프로그래밍/DB

[Oracle] NVL,NVL2 함수 사용법

by jjjhhhhh 2021. 7. 22.

NVL 함수 - Null값을 다른 값으로 치환해주는 함수

 

1. NVL 함수 사용법 

NVL(컬럼,NULL일경우 반환값) 

NVL(컬럼,0) -- 컬럼의 값이 NULL일경우 0으로 치환
NVL(컬럼,'') -- 컬럼의 값이 NULL일경우 ''으로 치환
NVL(컬럼,SYSDATE) --컬럼의 값이 NULL일경우 현재날짜로 치환

Ex. USER_AGE값이 Null 이면 1로 치환 

SELECT NVL(USER_AGE,1) FROM TBLUSER ;

 

2. NVL2 함수 사용법 

NVL2('컬럼','NULL이 아닐 경우 반환값','NULL일경우 반환값')
NVL2(컬럼,'정규직','비정규직') -- 컬럼의 값이 NULL이 아닐경우 정규직 NULL일경우 비정규직
NVL2(컬럼,'남','여') -- 컬럼의 값이 NULL이 아닐경우 남 NULL일경우 여

Ex. (COMPANY_NO)가 NULL이 아니면 계열사 NULL이면 비계열사

SELECT NVL2(COMPANY_NO,'계열사','비계열사') FROM COMPANY_TABLE;