2014-09-04 62 views
2

這不起作用。仍然得到零誤差的分割。有任何想法嗎?SQL計算列如果聲明

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'會甚至工作。應該是'[遊戲]是空的'。 – 2014-09-04 15:56:49

回答

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)