💻 IT/📌 DataBase

[DB/SQL] ORACLE NVL 함수 사용법 정리

GODSU 2024. 8. 30. 16:07
반응형

 

 

 

오늘은 쿼리 작성 시 NULL 체크를 하는 NVL 함수 사용법을 정리해 보겠습니다.

 

NVL 함수

NVL 함수는 값이 NULL 인경우에 지장 된 값을 출력할 수 있고, 아닌 경우 원래 값을 출력한다.

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

 

SELECT * FROM EMP_TABLE

 

SELECT 
     EMP_TABLE.ETC
    ,NVL(EMP_TABLE.ETC,'지정값')
 FROM EMP_TABLE

예제를 보면 EMP_TABLE에는 ETC라는 기타 항목이 있는데, 현재 값이 모두 NULL로 되어있다. 하지만 NVL 함수를 이용해서 NULL 경우 '지정값'이 보이게 출력되고 있다.

 

 

NVL2 함수

NVL2 함수는 값이 NULL 인 경우에는 지정값1을 출력하고, NULL 아닌 경우에는 지정값2를 출력한다.

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

SELECT 
     EMP_TABLE.EMP_NAME
    ,NVL2(EMP_TABLE.EMP_NAME,'NOT NULL','NULL')
    ,EMP_TABLE.ETC
    ,NVL2(EMP_TABLE.ETC,'NOT NULL','NULL')
 FROM EMP_TABLE

 

쿼리 결과를 확인해 보면, 이름은 널이 아니므로(NOT NULL) 지정값1(NOT NULL)을 출력하고 있고, 기타항목은 널이므로(NULL) 지정값2(NULL)을 출력하고 있다.

 

즉, 해당 칼럼이 NULL인 경우 특정값으로 출력하고 싶을 때는 NVL을 사용하고, NULL 아닌 값까지 지정해서 출력하고 싶으면 NVL2함수를 사용하면 된다.

 

감사합니다.

 

 

 

반응형