Designed by 77
加载资源 ......
感谢 ♥ 作者
先不感谢了

sqlserver中float数值类型的不确定性

浮点型(float)这个东西,本身存储就是一个不确定的数值。比如你想要存储的是一个0,但实际存储的可能是0.0000000000071,也可能是0.0000000000662这样的数值。在平常的取数可能没有什么问题,因为取数一般都会带有精度控制,但是如果是大量的数值做汇总的话,就可能出现统计的结果多了或少了(负数)的问题。

比如你看到的存储的都是两位小数,但是汇总之后的结果就变成了七八位小数了,这在一些严格要求精度的场景中显然是不被允许的(比如统计金额)。

因此一般是建议使用numeric类型(decimal类型),这个类型能有效存储确定的精度。

 

"日后尽量别教今天的泪白流。"

posted @ 2021-03-15 07:24  yanggb  阅读(403)  评论(0编辑  收藏  举报