SQL计算列如果声明
问题描述:
这不起作用。仍然得到零误差的分割。有任何想法吗?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
答
你永远不能使用=与NULL,使用IS NULL。
而且进一步简化:
(case when isnull([games], 0) = 0 then (0) else CONVERT(decimal,CONVERT([float],[goalsAG],(0))/CONVERT([float],[games],(0)),(0)) end)
首先,看不出'[游戏] = NULL'会甚至工作。应该是'[游戏]是空的'。 – 2014-09-04 15:56:49