Notice
Recent Posts
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

IT'S YU

[Oracle] SQL NVL, NVL2 차이점 본문

DB/Oracle

[Oracle] SQL NVL, NVL2 차이점

자석 2022. 4. 29. 13:24

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인 경우 '재고없음' 으로 치환

 

 

 

출처: https://lnsideout.tistory.com/entry/ORACLE-%EC%98%A4%EB%9D%BC%ED%81%B4-NVL-NVL2-%EC%82%AC%EC%9A%A9%EB%B2%95-%EB%B0%8F-%EC%B0%A8%EC%9D%B4%EC%A0%90NULL-%EC%B2%98%EB%A6%AC

 

[ORACLE] 오라클 NVL, NVL2 사용법 및 차이점(NULL 처리)

NVL, NVL2 사용법 및 차이 데이터 처리를 할때 NULL 처리는 항상 중요합니다. 이런 NULL 데이터 처리를 간편하게 하기위해 오라클(oracle)에서는 NLV 함수를 제공하고 있습니다. 오라을 외 다른 데이터베

lnsideout.tistory.com