티스토리 뷰

반응형

통계작업에서 종종 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 테이블;

 

반응형