为什么SQLServer为小于1的正值上限返回0?

我从 MS SQL Server 得到了一些意想不到的结果,想知道这是一个错误还是我对某些事情的误解?

使用时,CEILING我会得到所需的效果(四舍五入到最接近的整数),除非我将它用于 > 0 和 < 1 的值,在这种情况下它返回 0 ...

例子:

SELECT CEILING(2/7) 

正在返回 0。

SQL Server 2017

谢谢!

回答

SQL Server 进行整数除法。所以,2/70,不是某个分数。

相比:

select ceiling(2/7), ceiling(2.0/7)

或者:

select 2/7, 2.0/7


以上是为什么SQLServer为小于1的正值上限返回0?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>