日期:2014-05-18  浏览次数:20452 次

关于在存贮过程中统计页数的疑问
我看到很多存贮过程中求总页数都是这样写的:
SET   @PageCount=(@RecordCount+@PageSize-1)/@PageSize

可我怎么看都不明白,这样如何算出总页数?例如:
@RecordCount=123
@PageSize=10
代入表达式中:
set   @PageCount=(123+10-1)/10
得到的结果13.2啊

------解决方案--------------------
declare @pagecount int,@recordcount int,@pagesize int
set @RecordCount=123
set @PageSize=10
SET @PageCount=(@RecordCount+@PageSize-1)/@PageSize
print @pagecount

---------------
执行下试试
------解决方案--------------------
sql中的int变量会自动把小数点后面的数值舍掉吗?

是的...

二个int型运算结果是int型
------解决方案--------------------
INT型是不带小数的

从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的[整型]数据(所有数字)。


[整型]
------解决方案--------------------
set @i_pagetotal=ceiling(@RecordCount*1.0/@i_pageSize)即可