【发布时间】:2014-10-02 16:35:39
【问题描述】:
谁能解释 SQL Server 中的以下结果?我被难住了。
declare @mynum float = 8.31
select ceiling( @mynum*100)
831 中的结果
declare @mynum float = 8.21
select ceiling( @mynum*100)
822 中的结果
我已经测试了一系列数字(SQL Server 2012)。一些增加,而另一些保持不变。我不明白为什么天花板会以不同的方式对待其中一些。从float 更改为decimal(18,5) 似乎可以解决问题,但我担心这样做可能会产生其他影响。任何解释都会有所帮助。
【问题讨论】:
-
你为什么使用浮点数?我不知道切换到十进制会产生什么影响,除非您必须输入更多内容并且具有更可预测的准确性。去做就对了。请参阅this article、this article、this article 和 this Q & A。
-
感谢文章。
标签: sql sql-server sql-server-2012