오라클 데이터베이스에서 쿼리를 작성하다 보면 NULL값 대신 다른 값으로 변경해야 할 경우가 있다. 이를 흔히 NULL값 치환이라 하며, 이러한 경우에는 NVL 함수를 사용하면 간단하게 해결할 수 있다. NVL 함수는 오라클에서만 제공하는 함수로써 다른 데이터베이스에서는 존재하지 않는 함수이다.

 

 

 

 ▶ NVL 함수

 


 

구문 :

NVL (expr1, expr2)

- expr1은 null을 포함할 수 있는 소스 값 또는 표현식이다.

- expr2은 null을 변환하기 위한 대상 값이다.

 

다양한 데이터 유형에 대한 NVL 변환 :

 데이터 유형

변환 예제 

 NUMBER

 NVL(number_column, 9)

 DATE

 NVL(date_column, '01-JAN-95')

 CHAR or VARCHAR2

 NVL(character_column, 'wookoa')

 

예제 :

SELECT ENAME, NVL(COMM, 0)
    FROM EMP;

 

 

 

 

 ▶ NVL2 함수

 


 

구문 :

NVL2 (expr1, expr2, expr3)

- expr1은 null을 포함할 수 있는 소스 값 또는 표현식이다.

- expr2은 expr1이 null이 아닌 경우에 반환되는 값이다.

- expr3은 expr1이 null인 경우에 반환되는 값이다.

 

다양한 데이터 유형에 대한 변환 :

expr1은 임의의 데이터 유형을 가질 수 있으며, 인수 expr2 및 expr3은 LONG을 제외한 어떠한 데이터 유형도 될 수 있다.

 

예제 :

SELECT ENAME, NVL2(COMM, '있음', '없음')
    FROM EMP;

 

 

 

 

 

Private comment