Stored procedures 在SQL Server中计算金额

Stored procedures 在SQL Server中计算金额,stored-procedures,formula,computation,Stored Procedures,Formula,Computation,我已经创建了一个SQL Server存储过程,使用规范中提供的公式计算一定数量的数据 公式如下: ServiceFee = 25 / numberoftransaction WitholdingTaxOfServiceFee = (ServiceFee / 1.12) * 0.02 我很难得到正确的结果 前 如果所有交易的总和为25(服务费),则预期结果为0.45(含TaxOfServiceFee)。如果我使用Excel并应用给定的公式,结果是正确的,但在SQL Server中则不是 我的

我已经创建了一个SQL Server存储过程,使用规范中提供的公式计算一定数量的数据

公式如下:

ServiceFee = 25 / numberoftransaction 

WitholdingTaxOfServiceFee = (ServiceFee / 1.12) * 0.02
我很难得到正确的结果

如果所有交易的总和为25(服务费),则预期结果为0.45(含TaxOfServiceFee)。如果我使用Excel并应用给定的公式,结果是正确的,但在SQL Server中则不是


我的问题是,是否有更好的公式可以得到服务费的正确结果25,以及税收服务费的正确结果0.45?

这里的问题是精度,您使用小数点后2个数字的精度

看看下面代码之间的区别

DECLARE @a1 Decimal (10,2) = 25.0/4
DECLARE @b1 Decimal (10,2) = (@a1 /1.12)*0.02

SELECT @a1, @b1
还有这个:

DECLARE @a1 float = 25.0/4
DECLARE @b1 float = (@a1 /1.12)*0.02

SELECT @a1, @b1
尝试更改变量的数据类型以保持更精确的数字,查看“精确数值”部分和“近似数值”选项下可能的数据类型:

好吧,给我们看看代码!您的T-SQL存储过程是什么?如果您没有向我们展示您的产品,我们应该如何提出建议????
DECLARE @a1 float = 25.0/4
DECLARE @b1 float = (@a1 /1.12)*0.02

SELECT @a1, @b1