• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    浅谈sqlserver下float的不确定性

    很多时候,大家都知道,浮点型这个东西,本身存储就是一个不确定的数值,你永远无法知道,它是 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中cube:多维数据集实例详解
    下一篇:SQL行转列和列转行代码详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    浅谈sqlserver下float的不确定性 浅谈,sqlserver,下,float,的,