在下面的陈述中,有没有办法将最终计算舍入到4位小数?我只能弄清楚如何将ROUND单独应用到列中 列都是FLOAT。
SELECT (ISNULL([COLUMN A],0) + ISNULL([Column B],0)) AS TOTAL
答案 0 :(得分:2)
您可以使用ROUND()
作为上述jarlh执行此操作,或者,如果您要删除尾随的0,则使用CAST()
。
SELECT CAST((ISNULL([COLUMN A],0) + ISNULL([COLUMN B],0)) AS NUMERIC(38,4)) AS TOTAL
例如:
SELECT ROUND((ISNULL(5.66666,0) + ISNULL(7.22222222,0)) , 4) AS TOTAL -- 12.88890000
SELECT CAST((ISNULL(5.66666,0) + ISNULL(7.22222222,0)) AS NUMERIC(38,4)) AS TOTAL -- 12.8889
答案 1 :(得分:1)
你的意思是这样吗?
SELECT ROUND((ISNULL([COLUMN A],0) + ISNULL([Column B],0)), 4) AS TOTAL
编辑 @jarlh稍快一点......