본문 바로가기

DataBase/Oracle

[Oracle] NULL값을 치환해주는 함수 - NVL, NVL2, NULLIF

NVL, NVL2, NULLIFNULL값을 치환할 때 사용할 수 있는 함수이다.

이 셋은 Oracle에서만 지원하는 함수이기 때문에 MySQL 등에서는 사용할 수 없다.

 

 

NVL

NVL(Column, Value)
  • NULL값을 다른값으로 변경할 때 사용한다.
  • Column의 값이 NULL일경우 Value의 값을 반환하고, Column의 값이 NULL이 아닐 경우 Column의 값을 반환한다.

예시

NVL(Column, NULL일 경우 반환값)

NVL(컬럼, 'IS NULL') -- 컬럼의 값이 NULL 인 경우 'IS NULL' 로 치환
NUL(컬럼, 9999) -- 컬럼의 값이 NULL인경우 9999로 치환

 

 

 

NVL2

NVL2(Column, Value1, Value2)
  • Decode 와 NVL을 합쳐놓은 형태의 함수이다.
  • Column의 값이 NULL이 아닐 경우 Value1의 값을 반환하고, Column의 값이 NULL일경우 Value2의 값을 반환한다.

예시

NVL2(Column, NULL이 아닐경우 반환값, NULL일 경우 반환값)

NVL2(컬럼, '있음', '없음') --컬럼의 값이 NULL이 아니면 '있음'으로, NULL이면 '없음' 으로 치환
NVL2(컬럼, DATE, '미응시') -- 컬럼의 값이 NULL이 아니면 날짜로, NULL이면 '미응시' 로 치환

 

 

NULLIF

NULLIF(Value1, Value2)
  • 특정 값인 경우 NULL로 치환하기 위한 함수이며 NVL과 기능이 반대이다.
  • Value1과 Value2의 값이 동일하면 NULL을 반환하고, 값이 동일하지 않으면 Value1을 반환한다.
  • 두 개의 Column 값이 동일한지 판단할 때도 사용한다.

예시

NULLIF('호랑이', '호랑이') -- NULL값 반환
NULLIF('사자', '호랑이') -- '사자' 반환

 


 

[Oracle] 오라클 NVL, NVL2 함수 사용방법 (null, 공백, 치환) (tistory.com)

 

[Oracle] 오라클 NVL, NVL2 함수 사용방법 (null, 공백, 치환)

오라클 NVL, NVL2 함수 사용법 해당 칼럼의 값이 NULL 값인 경우 특정값으로 출력하고 싶으면 NVL 함수를 사용하고, NULL 값이 아닐 경우 특정값으로 출력하고 싶으면 NVL2 함수를 사용하면 된다. NVL 함

gent.tistory.com

https://meyouus.tistory.com/231

 

Oracle Null 치환 함수 - NVL, NVL2, NULLIF, COALESCE

Oracle Null 치환 함수 오라클 조회 시 컬럼의 값이 NULL값을 체크하여 다른 값으로 치환하는 함수에는 NVL, NVL2, NULLIF, COALESCE 함수 등이 있습니다. NVL NVL 함수는 NULL 값을 다른 값으로 변경할때 사용하

meyouus.tistory.com

https://gent.tistory.com/480

 

[Oracle] NULLIF 함수 사용법 (특정 값을 NULL로 변환)

오라클에서 특정 값인 경우 NULL로 치환하기 위해서는 NULLIF 함수를 사용하면 된다. NVL 함수와 조금 반대되는 함수라고 생각하면 된다. NVL 함수는 NULL인 경우 특정 값으로 치환을 하고, NULLIF 함수

gent.tistory.com