Database/Oracle
[오라클] ORA-01476 제수가 0 입니다
데브포유
2009. 9. 3. 12:07
반응형
통계작업에서 종종 ORA-01476 제수가 0 입니다 를 가끔 보게 되는데 나누기에서
분모가 0이어서 발생하는 문제죠.
분모가 0이 안되게 하는게 정답이지만 데이터 정합성과 기타 문제로 인하여 분모가 0이
될 수가 있습니다.
그래서 오류없이 자료를 뽑고, 분모가 0인 데이터는 0으로 표시하기 위해서 아래와
같이 분모 값이 0일 때 NULL로 치환해 주면 됩니다.
NULL로 나누면 값은 NULL이 되고, 에러는 발생하지 않습니다.
SELECT NVL(분자 / DECODE(분모, 0, NULL, 분모), 0) FROM 테이블;
또는
SELECT NVL(분자 / NULLIF(분모, 0), 0) FROM 테이블;
반응형