Tsql t-sql舍入的正确方法

Tsql t-sql舍入的正确方法,tsql,sum,rounding,Tsql,Sum,Rounding,在下面的例子中,t-sql的正确方法是什么 四舍五入分数,2或四舍五入分数,2 ta 我已经尝试了这两种方法,但得到的总结果仍然各不相同,我不知道是否需要截断某些地方 我想要x,y*@v=z 所以sumx*@v=sumz 谢谢 round(sum(of fractions),2) 是最准确的,因为你只四舍五入一次,就在最后。 另一种方法是,在求和之前先对每个单独的值进行四舍五入,这样最终结果很可能在所有四舍五入中都不太准确 编辑:非常基本的示例: DECLARE @Data TABLE (Va

在下面的例子中,t-sql的正确方法是什么 四舍五入分数,2或四舍五入分数,2 ta

我已经尝试了这两种方法,但得到的总结果仍然各不相同,我不知道是否需要截断某些地方

我想要x,y*@v=z 所以sumx*@v=sumz

谢谢

round(sum(of fractions),2)
是最准确的,因为你只四舍五入一次,就在最后。 另一种方法是,在求和之前先对每个单独的值进行四舍五入,这样最终结果很可能在所有四舍五入中都不太准确

编辑:非常基本的示例:

DECLARE @Data TABLE (Val DECIMAL(9,2))
INSERT @Data VALUES (1.15)
INSERT @Data VALUES (1.15)
INSERT @Data VALUES (1.15)

SELECT ROUND(SUM(Val), 1) As Sum1, SUM(ROUND(Val, 1)) AS Sum2
FROM @Data
给出Sum1=3.50和Sum2=3.60。 1.15+1.15+1.15=3.45真实总数。因此,Sum1显然更准确

是最准确的,因为你只四舍五入一次,就在最后。 另一种方法是,在求和之前先对每个单独的值进行四舍五入,这样最终结果很可能在所有四舍五入中都不太准确

编辑:非常基本的示例:

DECLARE @Data TABLE (Val DECIMAL(9,2))
INSERT @Data VALUES (1.15)
INSERT @Data VALUES (1.15)
INSERT @Data VALUES (1.15)

SELECT ROUND(SUM(Val), 1) As Sum1, SUM(ROUND(Val, 1)) AS Sum2
FROM @Data
给出Sum1=3.50和Sum2=3.60。 1.15+1.15+1.15=3.45真实总数。因此,Sum1显然更准确