1、SQL可搜索可排序可分页存储过程, 2、范围内的随机时间 适用于sql 2008以上
-- =============================================
-- Author: 蜘蛛王
-- Create date: 2015-10-29
-- Description: 可搜索 可排序 可分页存储过程 适用于sql2008以上
-- (非常重要,请认真使用)
-- ============================================= create PROCEDURE dbo.list
(
@table varchar(1000),--表名或视图表 (必须)
@orderby varchar(1000),--排序字段 (必须)
@fields varchar(max)='*',--欲选择字段列表 (可选)
@pageindex int=1,--页号,从1开始 (可选)
@pagesize int=20,--页尺寸 (可选)
@where nvarchar(max) = N'',--条件 (可选)
@IsCount bit = 1 -- 返回记录总数, 非 0 值则返回 (可选)
)
AS
BEGIN
SET NOCOUNT ON
declare @sqlstr nvarchar(max)
set @sqlstr=''
set @orderby = ' order by ' + @orderby
if @where<>N''
set @where = ' Where ' + @where --对第一页可以直接用top
if @pageindex=1
begin
set @sqlstr = 'select top ' + CONVERT(varchar(10),@pagesize) + ' ' + @fields + ' from ' + @table + @where + @orderby
end
else
begin
set @sqlstr = 'with temptbl as ('
+ ' SELECT ROW_NUMBER() OVER ('+ @orderby +') AS Row, '
+ @fields + ' from ' + @table + @where
+ ') SELECT '+ @fields + ' FROM temptbl where Row between ' + CONVERT(varchar(10),(@pageindex-1)*@pagesize+1) + ' and ' + CONVERT(varchar(10),(@pageindex-1)*@pagesize+@pagesize) end
if @IsCount!=0
set @sqlstr = @sqlstr + ';select count(1) from ' + @table + @where
execute(@sqlstr)
END
--测试代码
exec list @table='dl_QQ',@orderby='iid desc',@IsCount=1, @pageindex =2, @fields='iid,qq', @where=' iid <30 '
exec list @table='dl_QQ',@orderby='iid desc',@IsCount=1, @pageindex =1, @fields='iid,qq', @where=' iid <30 '
/******************************
* 函数名:RandDateTime
* 作用:返回两个时间范围内的一个随机时间
* Author:
* Date: 2015-11-13
* 调用:select dbo.RandDateTime(NEWID(),'2015-11-03 11:24:17','2015-11-03 11:25:17')
*******************************/
go
--创建函数
alter Function RandDateTime
(
@newID uniqueidentifier, -- 用 NEWID()
@date_from DateTime, --开始时间
@date_to DateTime --结束时间
)
Returns DateTime
As
Begin Return CAST(CAST(@date_from AS DECIMAL(18,8)) + -----开始时间 加上一个以天为整的数值作为新的日期
(
ABS(
CAST(
CAST( @newID AS Binary(17) )--把生成的一个二进制随机数转化为整数 并取其绝对值
AS INT
)
) / 10000.0
% ----防止随机数过大 取其对开始结束时间差的模
CAST(
(@date_to - @date_from) -----获取时间差 并转换成整型
AS DECIMAL(18,8)
)
) AS DATETIME)
End
1、SQL可搜索可排序可分页存储过程, 2、范围内的随机时间 适用于sql 2008以上的更多相关文章
- sql server 带输入输出参数的分页存储过程(效率最高)
		
create procedure proc_page_withtopmax( @pageIndex int,--页索引 @pageSize int,--每页显示数 @pageCount int out ...
 - 在ASP.NET MVC5中实现具有服务器端过滤、排序和分页的GridView
		
背景 在前一篇文章<[初学者指南]在ASP.NET MVC 5中创建GridView>中,我们学习了如何在 ASP.NET MVC 中实现 GridView,类似于 ASP.NET web ...
 - [转]在ASP.NET MVC5中实现具有服务器端过滤、排序和分页的GridView
		
本文转自:http://www.cnblogs.com/powertoolsteam/p/MVC5_GridView_2.html 背景 在前一篇文章<[初学者指南]在ASP.NET MVC 5 ...
 - [转]关于SQL分页存储过程的分析
		
[转]关于SQL分页存储过程的分析 建立一个 Web 应用,分页浏览功能必不可少.这个问题是数据库处理中十分常见的问题.经典的数据分页方法是:ADO 纪录集分页法,也就是利用ADO自带的分页功能(利用 ...
 - 在ASP.NET MVC中使用Boostrap实现产品的展示、查询、排序、分页
		
在产品展示中,通常涉及产品的展示方式.查询.排序.分页,本篇就在ASP.NET MVC下,使用Boostrap来实现. 源码放在了GitHub: https://github.com/darrenji ...
 - 动软.NET 分页存储过程UP_GetRecordByPage
		
1, ------------------------------------ --用途:支持任意排序的分页存储过程 --说明: ----------------------------------- ...
 - asp.net sql  分页,,优化 排序 及分页,
		
调用代码: <%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix ...
 - [原创]java WEB学习笔记92:Hibernate学习之路-- -QBC 检索和本地 SQL 检索:基本的QBC 查询,带 AND 和 OR 的QBC,统计查询,排序,分页
		
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
 - sql server 2000 单主键高效分页存储过程 (支持多字段排序)
		
sql server 2000 单主键高效分页存储过程 (支持多字段排序) Create PROC P_viewPage /* nzperfect [ ...
 
随机推荐
- NSDateFormatter遇到无法转换的问题
			
NSDateFormatter并不是万能的,并不是给出什么字符串都能转遍为NSDate类型,所转换的格式必须必须和你给出的格式想对应 比如说:NSString *dateStr = @"20 ...
 - Android 标题栏菜单设置与应用(popupWindow的应用)
			
效果图
 - 一个Java线程小例子(仿火车票售卖)
			
public class MyThread extends Thread{ private static int ticket=100; public void run(){ for(int i=0; ...
 - 实现Launcher默认壁纸、选择壁纸定制化功能
			
需求功能说明: 该定制需求为在系统中增加一个新的分区如myimage,用以实现存放定制资源.例如在myimage下新建wallpaper文件夹用于存放定制的墙纸图片资源,当Launcher加载 ...
 - Spring的Bean的基本概念
			
Spring其实就是一个大型的工厂,而Spring容器中的Bean就是该工厂的产品.Spring容器能够生产哪些产品,取决于配置文件的配置. 对于我们而言,使用Spring框架做两件事:开发Bean. ...
 - 第一次用Axure~
			
刚刚接触axure感觉好多不会呢~但是一步一步来吧~ 操作到后来发现字体的变化很奇怪,总是只有一个字体出现,只有在编辑时才出现我设定的字体. 但最后还是有个样子出来了~做了一个联系的新页面 最后学姐又 ...
 - C# 处理应用程序减少内存占用
			
SetProcessWorkingSetSize减少内存占用 系统启动起来以后,内存占用越来越大,使用析构函数.GC.Collect什么的也不见效果,后来查了好久,找到了个办法,就是使用 SetPro ...
 - JDBC的作用及重要接口
			
JDBC是由一系列连接(Connection).SQL语句(Statement)和结果集(ResultSet)构成的,其主要作用概括起来有如下3个方面: 建立与数据库的连接. 向数据库发起 ...
 - extjs4_msg
			
经过一早上的努力,终于成功显示了ext.msg.alert("somestring")!一个漂亮的对话框,呵呵 真的是感想挺多,收获也很多的.主要是: 一.用Wamp在win7下搭 ...
 - css3背景图水平垂直顺时针逆时针翻转旋转
			
.bgPlay{ background:url(../images/bg.jpg) no-repeat; /* background-size:auto auto || cover 代表以宽或高填满元 ...