我在 excel 中有以下一组计算,我希望能够在存储过程中使用它们。
Excel
CellA: 45/448.2 = 0.100401606425703
CellB: 1-CellA = 0.899598393574297
CellC: 1-CellB = 0.100401606425703
CellD: CellC * 448.2 = 45.000000000000000
在 SQL 中,我正在执行以下操作:
declare @a decimal(18,15) = 45/448.2
declare @b decimal(18,15) = 1-@a
declare @c decimal(18,15) = 1-@b
declare @d decimal(18,15) = @c * 448.2
我也尝试过在一行中运行计算
declare @e decimal(18,15) = (1-(1-(45/448.2)))*448.2
当我返回值时,SQL 给了我以下信息:
@a: 0.100401000000000
@b: 0.899599000000000
@c: 0.100401000000000
@d: 44.999728200000000
@e: 44.999728200000000
我已经尝试在 SQL 中调整小数的精度,但没有任何区别,它只返回小数的前 6 位。
Excel 在运行公式时是否进行任何优化?
有任何想法吗?