主页 > 知识库 > 浅谈sqlserver下float的不确定性

浅谈sqlserver下float的不确定性

热门标签:呼叫中心市场需求 服务外包 铁路电话系统 AI电销 Linux服务器 网站排名优化 地方门户网站 百度竞价排名

很多时候,大家都知道,浮点型这个东西,本身存储就是一个不确定的数值,你永远无法知道,它是 0 = 0.00000000000000123 还是 0 = 0.00000000000999这样的东西。也许一开始使用的时候没有问题,但是有时候做统计的时候,就会看出端倪

简单的举个例子,就知道统计的时候,有可能出现意外的效果,导致可能需要存储过程或者接收程序的代码左额外的取舍数位的处理,所以在此其实我是推荐使用Numeric来替代float进行一个替代使用,避免一个sum ,然后明明明细看每一条数据都是正常的2,3位小数,一汇总就变成了8,9位的样子

CREATE TABLE #T (ID INT IDENTITY,Va FLOAT)
CREATE TABLE #T1 (ID INT IDENTITY,Va NUMERIC(15,9))
--分开执行-------------------------------------------------
INSERT INTO #T
    ( Va )
VALUES ( 0.60000000)
INSERT INTO #T1
    ( Va )
VALUES ( 0.60000000)
GO 100

SELECT SUM(Va) FROM #T
SELECT SUM(Va) FROM #T1

----------------------
60.0000000000001
(1 行受影响)

---------------------------------------
60.000000000
(1 行受影响)

总结

以上就是本文关于浅谈sqlserver下float的不确定性的全部内容,希望对大家有所帮助。感兴趣的朋友可以参阅本站:简述Redis和MySQL的区别、ORACLE SQL语句优化技术要点解析、MYSQL子查询和嵌套查询优化实例解析等,有什么问题可以随时留言,小编会及时回复大家。感谢各位对脚本之家的支持!

您可能感兴趣的文章:
  • Sqlserver 表类型和表变量介绍
  • java sqlserver text 类型字段读取方法
  • sqlserver中将varchar类型转换为int型再进行排序的方法
  • SQLserver查询数据类型为ntext是空或NULL值的方法
  • SQLSERVER 中datetime 和 smalldatetime类型分析说明
  • 详细分析sqlserver中的小数类型(float和decimal)

标签:黄山 衡水 湘潭 兰州 铜川 崇左 湖南 仙桃

巨人网络通讯声明:本文标题《浅谈sqlserver下float的不确定性》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266