본문 바로가기
Database 빌드업/Oracle

[오라클|Oracle] 에러 코드 ORA-01476 제수가 0 입니다.

by 예스민 2023. 8. 28.

[오라클|Oracle] 에러 코드 ORA-01476 제수가 0입니다

SQL 통계작업 중 "ORA-01476 제수가 0입니다"라는 에러를 종종 보게 됩니다.

 

 

*원인

원인은 쿼리 내 나누는 연산에서 분모가 0일 때 발생 하게 됩니다.

 

 

 

 

 

 

 

 

 

*해결방법

 

1. decode 사용

--decode
select decode( 분모, 0,0, null,0, 분자/분모 ) result from DUA

 

ex)

select decode( 0,0,0, null,0,100/0 ) result from DUAL;

 

2.nullif 사용

--nullif

select nvl(분자/nullif(분모, 0),0) result from DUAL;

 

ex)

select nvl(100/nullif(0,0),0) result from DUAL;

*nullif ( a, b ) : a가 b와 같으면 null 틀리면 a 값 반환