반응형
🚫 ORA-02292: divisor is zero
1️⃣ 원인
제수(분모)의 값이 0이어서 분자를 나눌 수 없을 때 발생하는 오류이다.
= 분모가 0이어서 에러가 발생
SELECT 100 / 0
FROM DUAL;
/* result: ORA-01476: divisor is equal to zero */
2️⃣ 해결
DECODE를 이용해서 분모의 값을 NULL로 변경하면 최종 값이 NULL로 반환되며 NVL로 NULL값일 때 0으로 처리한다.
SELECT NVL(분자 / DECODE(분모, 0, null, 분모), 0)
FROM 테이블명;
위의 쿼리를 실행하였을때 분모가 0이면 아래와 같은 형태로 바뀌어 실행되며 오류가 발생하지 않게 된다.
SELECT 100 / NULL
FROM DUAL;
/* result: (NULL) */
반응형
'Database > Oracle' 카테고리의 다른 글
[DB] 웹에서 쿼리 실행하기(Oracle, Mysql, Mssql) (0) | 2022.08.23 |
---|---|
[Oracle] 오라클 함수/프로시저 조회 방법(쿼리) (0) | 2022.04.11 |
[Oracle] 컬럼 데이터 타입(Byte, Char) (0) | 2022.01.18 |
[Oracle] ORA-02292: 무결성 제약조건이 위배되었습니다. (0) | 2022.01.17 |
[Oracle] ORA-01849: 시간은 1에서 12 사이어야 합니다 (0) | 2022.01.14 |
최근댓글