8134: Divide by zero error encountered
SQL Server의미
산술 표현식의 제수가 0이어서 0으로 나누기 오류가 발생했다. SQL Server는 나눗셈을 완료할 수 없어 쿼리를 중단한다.
원인
제수로 사용된 컬럼이나 표현식이 0으로 평가됨, 평균/비율 계산에서 분모가 0, NULLIF 없는 나눗셈, 또는 데이터의 예상치 못한 0 값.
해결 방법
NULLIF로 분모를 보호한다(예: value / NULLIF(denominator, 0)). 결과는 NULL이 되며 ISNULL/COALESCE로 기본값을 지정할 수 있다. CASE WHEN denominator = 0 THEN NULL ELSE value/denominator END를 사용한다. 나누기 전에 WHERE로 0 값을 걸러낸다. 필요하면 SET ARITHABORT/ANSI_WARNINGS 동작을 검토한다.
같은 데이터베이스의 다른 항목
- 701There is insufficient system memory in resource pool to run this query
- 845Time-out occurred while waiting for buffer latch
- 3201Cannot open backup device. Operating system error (backup device error)
- 245Conversion failed when converting the value to data type
- 515Cannot insert the value NULL into column
- 8115Arithmetic overflow error converting expression to data type
- 512Subquery returned more than 1 value