如何将小数点四舍五入到上限值

Abb*_*bas 3 decimal rounding floor sql-server-2008

我正在使用 sql server 2008 过程,我有总行数除以每页,我希望如果结果包含任何小数值,则应四舍五入到其上限值。

我用下面:

SELECT FLOOR(@TOTAL / CAST(@PageSize AS FLOAT)) AS TOTALPAGES, @TOTAL AS TOTALROWS
Run Code Online (Sandbox Code Playgroud)

其中 @total 是浮点数,这不起作用。我也尝试过下面

SELECT ROUND(@TOTAL / CAST(@PageSize AS FLOAT),0) AS TOTALPAGES, @TOTAL AS TOTALROWS
Run Code Online (Sandbox Code Playgroud)

仅当小数 >= 5 时才有效,否则不取上限值。

我希望如果结果是 12.2 那么它应该返回 13

Mar*_*ith 5

您需要使用该CEILING 功能。不是ROUND或者FLOOR像你的问题一样。