我正在使用sql server 2008程序,我的每行总行数,我希望如果结果包含任何小数值,则应将其四舍五入为其上限值。
我在下面使用:
SELECT FLOOR(@TOTAL / CAST(@PageSize AS FLOAT)) AS TOTALPAGES, @TOTAL AS TOTALROWS
其中@total是浮点数,这不起作用。我也试过下面的
SELECT ROUND(@TOTAL / CAST(@PageSize AS FLOAT),0) AS TOTALPAGES, @TOTAL AS TOTALROWS
仅当小数为> = 5时才有效,否则不会取上限值。
我希望如果结果是12.2那么它应该返回13
答案 0 :(得分:4)
您需要使用CEILING
功能。您的问题中不是ROUND
或FLOOR
。
答案 1 :(得分:0)
如果你有任何小数值,它应该四舍五入到它的上限值使用CELLING,否则使用Round它给出准确的值。
Example for CEILING:
SELECT CEILING($123.45), CEILING($-123.45), CEILING($0.0) or
select CEILING(1.12) it takes 2
Example for ROUND:
But in Round see
select round(1.12,1) it takes as 1.10.
select round(1.15,1) it takes as 1.20.
希望它能清除你的怀疑