ms sql舍入问题在3到N的小数位

时间:2012-02-29 07:46:34

标签: sql sql-server rounding

我在此查询中遇到问题

select 7.115 + 2.885

结果是10.000

与此查询

select round(7.115,2) + round(2.885,2)

结果是10.010

我想知道如何纠正它。

1 个答案:

答案 0 :(得分:5)

已经正确。当你将它四舍五入到两个位置时,在两种情况下,通过有效地添加0.005(正确地)将向上进行舍入。这两个舍入增量的总和为0.01,因此结果为10.01符合预期。

这里没有什么可以“修复” - 它的行为正确并且符合预期。

如果您的意思是“我如何将其作为添加结果显示10.00”,请执行以下操作:

select round(7.115 + 2.885, 2)