본문 바로가기
DB(Data Base)/Oracle

[Oracle] 오라클 sql문에서 NULL값을 원하는 값으로 치환하는 함수 NVL, NVL2

1. NVL, NVL2 함수란?

 

DB를 사용하다보면 특정값의 결과가 NULL일경우 원하는 값으로 치환을 하고 싶은 경우가 있습니다.

이때 사용하는 함수가 NVL, NVL2입니다. 

물론 NVL, NVL2 대신에 DECODE를 이용해서 치환도 가능하지용도에 맞는 명시적인 함수를 사용하는게 더 좋을것입니다.

 

 

 

 

 

2. NVL 함수 사용방법

 

NVL함수는 값이 NULL일 경우 지정한 값으로 출력합니다.

- NVL("값", "지정값")

SELECT NVL('NULL이 아닙니다', 'NULL값 입니다') AS "결과" FROM DUAL;

SELECT NVL(NULL, 'NULL값 입니다') AS "결과" FROM DUAL;

 

 

 

 

 

3. NVL2 함수 사용방법

 

NVL2함수는 값이 NULL일 경우 지정값2로 출력하고 NLL이 아닐경우 지정값1를 출력합니다.

- NVL2("값", "지정값1", "지정값2")

SELECT NVL2('내용', 'NULL이 아닙니다', 'NULL값 입니다') AS "결과" FROM DUAL;

SELECT NVL2(NULL, 'NULL이 아닙니다', 'NULL값 입니다') AS "결과" FROM DUAL;

 

 

 

 

 

댓글