IT'S YU
[Oracle] SQL NVL, NVL2 차이점 본문
NVL, NVL2 사용법 및 차이
데이터 처리를 할때 NULL 처리는 항상 중요합니다.
이런 NULL 데이터 처리를 간편하게 하기위해 오라클(oracle)에서는
NLV 함수를 제공하고 있습니다.
오라을 외 다른 데이터베이스에서는 nvl 사용이 불가능 합니다.
1. NVL 함수 [ NVL( 대상 , null인 경우 값 ) ]
대상의 값이 NULL 인 경우 지정한 값으로 치환합니다.
모든 데이터 타입에 적용이 가능합니다.
ex ) select nvl(GOODS_QTY, 0) from GOODS;
-> GOODS테이블에 GOODS_QTY가 null 일 경우 0으로 치환
2. NVL2 함수 [ NVL2( 대상, null 아닌경우 값, null인 경우 값 ) ]
대상의 값이 NULL 인 경우와 NULL이 아닌경우를 지정한 값으로 치환합니다.
NVL2 함수는 DECODE함수와 비슷한 IF문의 기능을 가지고 있습니다.
개인적으로는 DECODE 보다 더 간편하다고 생각하네요.
때에 따라서 NVL2와 DECODE를 사용하시면 될것 같습니다.
ex ) select NVL2(GOODS_QTY, GOODS_QTY, '재고없음') from GOODS;
-> GOODS테이블에 GOODS_QTY가 NULL이 아닌경우 GOODS_QTY 으로 치환
-> GOODS테이블에 GOODS_QTY가 NULL인 경우 '재고없음' 으로 치환
[ORACLE] 오라클 NVL, NVL2 사용법 및 차이점(NULL 처리)
NVL, NVL2 사용법 및 차이 데이터 처리를 할때 NULL 처리는 항상 중요합니다. 이런 NULL 데이터 처리를 간편하게 하기위해 오라클(oracle)에서는 NLV 함수를 제공하고 있습니다. 오라을 외 다른 데이터베
lnsideout.tistory.com
'DB > Oracle' 카테고리의 다른 글
[Oracle] DB dump 백업 및 복구 (0) | 2022.05.04 |
---|---|
[Oracle] 특정 텍스트 포함 프로시저 검색 (0) | 2022.05.02 |
[Oracle] sql 여러 컬럼을 한 컬럼에 출력하기 (0) | 2022.04.25 |
[Oracle] 조건문에 1=1 사용하는 이유 (WHERE, 동적쿼리) (0) | 2022.02.28 |
[SQL developer] 여러줄 주석 처리 단축키 (0) | 2022.02.23 |