浅谈sqlserver下float的不确定性

这篇文章主要介绍了浅谈sqlserver下float的不确定性,文中涉及具体实例代码,具有一定参考价值,需要的朋友可以了解下。

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

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

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

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的不确定性的全部内容,希望对大家有所帮助。有什么问题可以随时留言,小编会及时回复大家。感谢各位对钦钦技术栈的支持!

原文链接:http://www.cnblogs.com/Gin-23333/p/7227988.html

版权声明:本文(即:原文链接:https://www.qin1qin.com/catagory/25000/)内容由互联网用户自发投稿贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 630367839@qq.com 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年9月23日 下午12:19
下一篇 2022年9月23日 下午12:19
软件定制开发公司

相关阅读

发表回复

登录后才能评论
通知:禁止投稿所有关于虚拟货币,币圈类相关文章,发现立即永久封锁账户ID!