【发布时间】:2015-02-11 18:33:28
【问题描述】:
使用实数和数字数据类型时,我得到不同的结果。 当我使用 real 作为数据类型时,我得到 finalValue 作为 -139.2466,当我使用数字数据类型时,我得到 finalVaue 作为--139.246409。哪个值是正确的? 当我将这些数字插入 Excel 时,它与值 -139.2466 匹配。 对于.eg
create table #resr ( a1 real, a2 real, a3 real)
insert #resr select 0.471163361822717, 0.0096160000 , 0.001669000000000
select a1*a2*-51.295/a3 finalValue from #resr
create table #resn ( a1 numeric(30,15), a2 numeric(30,15), a3 numeric(30,15))
insert #resn select 0.471163361822717, 0.0096160000 , 0.001669000000000
select a1*a2*-51.295/a3 finalValue from #resn
【问题讨论】:
-
在第一个示例中,您使用的是近似数据类型,因此不应该期望得到准确的结果
标签: sql sql-server numeric