반응형

 

 

 

 

 

🚫 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) */

 

 

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기