float、real 近似值对整体结果的影响

作者:vkvi 来源:千一网络(原创) 日期:2008-8-7

在 SQL Server 中,float、real 同样不表示精确值,只表示近似值,近似值对结果是有一定影响的。

比如我们插入一千条值为 0.00001 的记录,然后再 SUM 这些值。如果字段类型为 float,那么我们可以看到结果有一定误差;如果字段类型是 real,那么误差更大,甚至可以说是错误的结果。

这看起来是挺恐怖的事,但实际上,在实际运营中影响并不明显,为什么呢?因为实际运营中,不大可能所有的数字都一样,由于是近似值,有的比实际数字大一点点,有的比实际数值小一点点,就中和了。比如,0.1+0.2+0.3+...+1.0,不论是 float 还是 real,这个结果都是 5.5,是符合的。也就是说有的存储值比实际数值偏小一点,有的存储值比实际数值偏大一点,所以 SUM(存储值) 与 SUM(实际数值) 还是挺接近的。

如果我们要精确存储,比如财务上,就不建议用这两个数据类型。

相关阅读

你前面那位网友看了:jQuery 中获取 QueryString 参数值

▲▲▲嘿,欢迎转载传播本站原创文章,尽量保留来源噢。▲▲▲

文章评论
标题:必填
内容:
本站永远终止与捏造“罪名”不支付广告费的某度联盟合作。
vkvi
vkvi

作者简介: vkvi,致力于 .NET Web 开发、移动开发的技术推广,在 .NET、SQL Server、Windows Server 等方面有深入研究和丰富经验,10 年间共计撰写文章 4000 余篇。 主持金融、国土、农业、电商等多个行业项目执行, 推行“技术提升生产力、人心决定成功率”的管理理论。 联系他