개발 지식/[DBMS] Oracle

[Oracle] NULL 처리 함수 - NVL(), NVL2()

devGSP 2022. 5. 15. 08:00
반응형
이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다.

Java(TM) 플랫폼 : 1.8.0_321
Oracle IDE : 4.1.5.21.78

 

NVL(), NVL2()

 

설명

 

NVL() : 열 또는 데이터를 입력하여 해당 데이터가 NULL이 아닐 경우 데이터를 그대로 반환하고, NULL인 경우 지정한 데이터를 반환하는 함수
NVL2() : 데이터가 NULL이 아닐 경우 반환할 데이터를 추가로 지정해 줄 수 있는 함수

 

 

문법

 

NVL(검사할 데이터 또는 열(필수)데이터가 NULL일 경우 반환할 데이터 또는 계산식(필수))
NVL2(검사할 데이터 또는 열(필수), 데이터가 NULL이 아닐 경우 반환할 데이터 또는 계산식(필수)데이터가 NULL일 경우 반환할 데이터 또는 계산식(필수))

 

 

사용 예시

-- NVL query
SELECT EMPNO
     , ENAME
     , SAL
     , COMM
     , SAL+COMM
     , NVL(COMM, 0)
     , SAL+NVL(COMM, 0)
  FROM EMP;

-- NVL2 query
SELECT EMPNO
     , ENAME
     , COMM
     , NVL2(COMM, 'O', 'X')
     , NVL2(COMM, SAL*12+COMM, SAL*12) AS ANNSAL
  FROM EMP;

 

 

결과

 

-- NVL query

nvlf1_q1



-- NVL2 query

nvlf1_q2

반응형