浅谈sqlserver下float的不确定性

 更新时间:2017年10月18日 14:28:13   作者:神崎橙  
这篇文章主要介绍了浅谈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子查询和嵌套查询优化实例解析等,有什么问题可以随时留言,小编会及时回复大家。感谢各位对脚本之家的支持!

相关文章

  • sql server 自定义分割月功能详解及实现代码

    sql server 自定义分割月功能详解及实现代码

    这篇文章主要介绍了sql server 自定义分割月功能详解及实现代码的相关资料,需要的朋友可以参考下
    2016-10-10
  • SQLServer2022新特性Window子句的使用

    SQLServer2022新特性Window子句的使用

    Window 子句通常与 OVER() 子句相关,它经常与窗口函数一起使用,本文主要介绍了SQLServer2022新特性Window子句,具有一定参考价值,感兴趣的可以了解一下
    2024-08-08
  • 分页查询 效率最高

    分页查询 效率最高

    给大家分享个效率最高的分页查询 5000万级别有效 比 ROWNUMBER 和Top效率高
    2009-06-06
  • case when then else end语句的用法(附demo)

    case when then else end语句的用法(附demo)

    本文主要介绍了case when then else end语句的用法,主要介绍了两种格式,简单case函数和case搜索函数,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • SQL Server只取年月日和获取月初月末简单举例

    SQL Server只取年月日和获取月初月末简单举例

    这篇文章主要给大家介绍了关于SQL Server只取年月日和获取月初月末的相关资料,在SQL Server中截取日期中的年月可以通过内置函数来实现,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • SQL Server数据库之表的高级查询

    SQL Server数据库之表的高级查询

    这篇文章主要给大家介绍了关于SQL Server数据库之表的高级查询的相关资料,高级查询在数据库中用得是最频繁的,也是应用最广泛的,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-08-08
  • SQL Server中避免触发镜像SUSPEND的N种方法

    SQL Server中避免触发镜像SUSPEND的N种方法

    这篇文章主要介绍了SQL Server中避免触发镜像SUSPEND的N种方法,需要的朋友可以参考下
    2016-01-01
  • SqlServer 垂直分表(减少程序改动)

    SqlServer 垂直分表(减少程序改动)

    当单表数据太多时,我们可以水平划分,参考 SqlServer 分区视图实现水平分表 ,水平划分可以提高表的一些性能
    2021-04-04
  • SQL SERVER 数据库备份代码实例

    SQL SERVER 数据库备份代码实例

    这篇文章主要介绍了SQL SERVER数据库备份,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • sql server 表结构修改方法

    sql server 表结构修改方法

    如果我们需要修改sql server表结构,应该怎么做呢?接下来将为您介绍修改sql server表结构的方法,需要的朋友可以参考下
    2012-11-11

最新评论