DBAtlas · 데이터베이스 운영 아틀라스

22012: division_by_zero

PostgreSQL

의미

산술 표현식이 0으로 나누기(또는 나머지 연산)를 시도했다. PostgreSQL은 0으로 나누기를 허용하지 않으며 쿼리를 중단한다.

원인

제수 컬럼/표현식이 0으로 평가됨. 비율/백분율 계산에서 분모가 0. 0인 COUNT 또는 SUM으로 나눔. 필터링되지 않은 데이터의 예상치 못한 0 값.

해결 방법

분모가 0일 때 NULL을 반환하도록 NULLIF를 사용한다: numerator / NULLIF(denominator, 0). 원하면 COALESCE로 결과를 기본값으로 바꾼다: COALESCE(numerator / NULLIF(denominator,0), 0). 또는 CASE WHEN denominator = 0 THEN NULL ELSE numerator/denominator END를 사용한다. 데이터에서 0인 경우를 미리 필터링한다.

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목