2014-09-04 1 views
2

이것은 작동하지 않습니다. 여전히 0으로 나누기 오류가 발생합니다. 어떤 아이디어?SQL 계산 열 If 문

case when [games]=NULL then (0) 
    when [games]=(0) then (0) 
    else CONVERT([decimal](18,2),CONVERT([float],[goalsAG],(0))/CONVERT([float],[games],(0)),(0)) end 
+0

는, [게임] = NULL'도 어떻게 작동하는지'표시되지 않습니다. '[게임]은 NULL이어야합니다. ' –

답변

4

=와 함께 NULL을 사용하면 절대로 IS NULL을 사용할 수 없습니다.

그리고 더 단순화 : 첫째

(case when isnull([games], 0) = 0 then (0) else CONVERT(decimal,CONVERT([float],[goalsAG],(0))/CONVERT([float],[games],(0)),(0)) end)