我在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)