SQL计算列If语句

时间:2014-09-04 15:52:19

标签: sql-server case calculated-columns

这不起作用。仍然得到零除错误。有什么想法吗?

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

1 个答案:

答案 0 :(得分: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)