Database / Sql

[Oracle] ORA-01476 : 제수가 0

락샤리쫑 2011. 11. 16. 09:42

나누기 연산 하는 경우거나 평균값을 구하는 경우에 분모 값이 0 인 상태에서 연산을 하면 에러(ORA-01476)가 발생한다. 분자의 값은 0 이여도 상관이 없다.

SELECT A / B FROM DUAL;

A = 0, B = 0  ->  ERROR (ORA-01476)
A = 1, B = 0  ->  ERROR (ORA-01476)
A = 0, B = 1  ->  0


>>

SELECT DECODE(B, 0, 0, NULL, 0, A / B) RESULT
   FROM ( SELECT 100 A, 0 B FROM DUAL );

RESULT = 0;