我在数据库中有一个值为2.700000002的值。当我在SQL SERVER 2005中的Management studio中运行查询时,我得到2.7。但是,当我在SQL SERVER 2000查询分析器中运行时,它来自2.700000002。
2.70000002是正确的为什么SQL SERVER 2005试图通过舍入或选择最低值来改变值?
答案 0 :(得分:2)
完全相同的目标服务器,数据库,数据类型,处理器,架构等?
如果没有,则只是工具将如何显示近似浮动值
答案 1 :(得分:0)
大多数事情都会将数字四舍五入以便显示。
~$ ghci
Prelude> 2.7
2.7
~$ irb
>> 2.7
=> 2.7
~$ python
>>> 2.7
2.7000000000000002
对于交互式使用,这通常足够好 - 唯一可以查看查询分析器的人就是你,为什么这很重要?对于实际显示,您应该指定格式。如果你确实需要"2.7"
的确切值,那么无论如何你应该使用十进制类型,因为无数的文章和答案可以告诉你。