sql返回分页的页数

zsyok 2009-10-16 12:51:00

存储过程,怎样写。返回一个分页,页数。
在SQL 里,怎样用上这句话
(RecordTotal % pagesize) == 0 ? (RecordTotal / pagesize) : (RecordTotal / pagesize + 1);

sql 句语.能用上if 等语句吗。 在那里有这些教程的。我找了很久都没打到。最好是视频教程。thx~
...全文
193 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiangshun 2009-10-16
  • 打赏
  • 举报
回复
(select count(*) from 表)/每页条数
lighwind 2009-10-16
  • 打赏
  • 举报
回复
CREATE procedure pro_messageRecord
@count int output,
@pageCount int output
as
set @count=(select count(*) from leaveMessage)
declare @pageSize int
set @pageSize=4
if(@count%@pageSize=0)
set @pageCount=@count/@pageSize
else
set @pageCount=@count/@pageSize+1
select count(*) from leaveMessage
mbh0210 2009-10-16
  • 打赏
  • 举报
回复
使用 IF...ELSE
IF 语句用于条件的测试。结果流的控制取决于是否指定了可选的 ELSE 语句:

指定 IF 而无 ELSE
IF 语句取值为 TRUE 时,执行 IF 语句后的语句或语句块。IF 语句取值为 FALSE 时,跳过 IF 语句后的语句或语句块。

指定 IF 并有 ELSE
IF 语句取值为 TRUE 时,执行 IF 语句后的语句或语句块。然后控制跳到 ELSE 语句后的语句或语句块之后的点。IF 语句取值为 FALSE 时,跳过 IF 语句后的语句或语句块,而执行 ELSE 语句后的语句或语句块。

例如,如果存储过程一直保存事务中 @@ERROR 返回的错误代码,则在过程结尾可能有与下面语句相似的 IF 语句:

IF (@ErrorSaveVariable <> 0)
BEGIN
PRINT 'Errors encountered, rolling back.'
PRINT 'Last error encountered: ' +
CAST(@ErrorSaveVariable AS VARCHAR(10))
ROLLBACK
END
ELSE
BEGIN
PRINT 'No Errors encountered, committing.'
COMMIT
END
RETURN @ErrorSaveVariable

  • 打赏
  • 举报
回复
我一直都用的这个函数
  • 打赏
  • 举报
回复
ceiling返回大于或等于该数的最小整数
Floor返回小于或等于该数字的最大整数
randomfeel 2009-10-16
  • 打赏
  • 举报
回复
(RecordTotal % pagesize) == 0 ? (RecordTotal / pagesize) : (RecordTotal / pagesize + 1);
sql语句或者存储过程里,可以用if判断,也可以case when..
视频教程就不知道了,一般都是看书比较多,或者看代码
declare @recordtotal int,@pagesize int

if @recordtotal % @pagesize = 0
BEGIN
return @RecordTotal / @pagesize
END
else
BEGIN
return @RecordTotal / @pagesize +1
END
fgmis_yu 2009-10-16
  • 打赏
  • 举报
回复
去asp.net屋看看
downmoon 2009-10-16
  • 打赏
  • 举报
回复

Declare @myCount int
Declare @RecordTotal int
Declare @pageSize int
set @RecordTotal=1234
set @pageSize=100
set @myCount=Round(@RecordTotal/@pageSize,0,1)
if(@myCount=0)
print '正好分完,共'+cast(@myCount as nvarchar(10))+'页'
else
begin
set @mycount=@mycount+1
print '共'+cast(@myCount as nvarchar(10))+'页,其中有一页不足'+cast(@pageSize as nvarchar(10))
end

SK_Aqi 2009-10-16
  • 打赏
  • 举报
回复
恩存储过程中可以使用if
但是如果只是简单的判断case..when就可以了
select case when firstname='admin' then 'administrator' end as firstName from testtable

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧