본문 바로가기

sql

NVL 함수

NVL(칼럼명, 값1)

 

해당 칼럼이 null 이면 값1을 반환

 

 

NVL2(칼럼명, 값1, 값2)

 

해당 칼럼이 null이 아닐경우 값1을 반환, null일 경우 값2를 반환

 

 

-- 보통 SQL문을 실행 했을 경우
SQL> SELECT ename, comm FROM emp;

ENAME                  COMM
---------------- ----------
SMITH               
ALLEN                   300
WARD                    500
JONES               
MARTIN                 1400
BLAKE               
CLARK                
SCOTT               
KING                 
TURNER                   0
ADAMS             


-- NVL함수를 사용 했을 경우
SQL> SELECT ename, NVL(comm, 0) comm  FROM emp;

ENAME                  COMM
---------------- ----------
SMITH                     0
ALLEN                   300
WARD                    500
JONES                     0
MARTIN                 1400
BLAKE                     0
CLARK                     0
SCOTT                     0
KING                      0
TURNER                    0
ADAMS                     0


-- NVL2함수를 사용 했을 경우
SQL> SELECT ename, NVL2(comm, 1, 0) FROM emp;

ENAME                COMM
--------------- ----------
SMITH                    0
ALLEN                    1
WARD                     1
JONES                    0
MARTIN                   1
BLAKE                    0
CLARK                    0
SCOTT                    0
KING                     0
TURNER                   1
ADAMS                    0

 

 

정말 편리하다

'sql' 카테고리의 다른 글

CASE WHEN THEN ELSE END 문  (0) 2021.08.06
트리거  (0) 2021.07.12