2014-09-04 4 views
2

Это не работает. По-прежнему происходит деление на нулевую ошибку. Есть идеи?Вычислительная колонка SQL If Statement

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' будет даже работать. Должно быть '[games] IS NULL'. –

ответ

4

Вы никогда не сможете использовать = с NULL, используйте NULL.

И еще больше упрощается:

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