SQL Server舍入差异



我在SQL中有一个舍入差异,我可以用手动解决。

我有两个SQL计算,第一个等于1.1,第二个等于5.65(见下文)

round((sum((monthly_markup)+100) / 100) / sum(monthly_qty),2) as timesby, --equals 1.1
sum(monthly_buy)/sum(monthly_qty) as buy, -- equals 5.65

如果我把这些计算然后做calc1 x calc2它等于6.21

cast (round(sum(monthly_buy)/sum(monthly_qty) * (sum((monthly_markup)+100) / 100) / sum(monthly_qty),2) as decimal (30,2)), -- equals 6.21 !!

但我期望6.22,根据下面的计算

cast (round((5.65 * 1.1),2) as decimal (30,2)) -- equals 6.22

如何让我的计算返回6.22?

感谢

为了帮助其他人,我先将buy * qty的总和转换为小数。

round((cast(sum(monthly_buy)/sum(monthly_qty) as decimal (5,3)) * round((sum((monthly_markup)+100) / 100) / sum(monthly_qty),2)),2) 

相关内容

  • 没有找到相关文章