쿼리를 짜다보니 일부 조건들에 걸려서 

SQL Error [22012]: ERROR: division by zero 가 떨어지는 경우가 있다.

 

말 그대로 0으로 나눠서 에러가 나는것인데, 여러가지 해결방법이 있지만 자주 쓰는 방법을 정리 해 보았다.

 

1. NULLIF(컬럼, 0)

 

SELECT 1*2 / NULLIF(0,0) - 0

결과값: NULL

 

2. CASE 문 사용

SELECT CASE WHEN COL > 0 
        THEN (1*2/COL)
        ELSE 0
        END AS RESULT_COL

col값이 0초과일때만 div가 진행되기 때문에 에러가 나타나지 않는다.

 

+ Recent posts