CEILING()SQL Server发生了什么

时间:2016-03-29 10:07:41

标签: sql sql-server

今天,我发现了CEILING()的错误。我不知道为什么。

谁可以给我一个答案,请等。

感谢。

当我测试CEILING()SQL Server 2012时:

enter image description here

1 个答案:

答案 0 :(得分:4)

这不是本身的错误。浮点不能完全表示0.17,因为它不能表示为2的(负)幂的有限和。因此,0.17由最接近的可表示数字表示。

因此0.17实际上表示为0.170000...1。因此,执行CEILING会将其表示为1701

正如@Squirrel所说,你可以使用DECIMAL来存储一个给定数量的数字。