-
SQL里类似SPLIT的分割字符串函数
一,用临时表作为数组复制代码代码如下:createfunctionf_split(@cvarchar(2000),@splitvarchar(2))returns@ttable(colvarchar(20))asbeginwhile(charindex(@split,@c)<>0)begininsert@t(col)values(substring(@c,1,charindex(@split,@c)-1))set@c=stuff(@c,1,charindex(@split,@c),'')endinsert@t(col)values(@c)returnendgoselect*fromdbo.f_split('dfkd,dfdkdf,dfdkf,dffjk',',')dropfunctionf_splitcol--------------------dfkddfdkdfdfdkfdffjk(所影响的行数为4行)二、按指定符号分割字符串,返回分割后的元素个数,方法很简单,就是看字符串中存在多少个分隔符号,然后再加一,就是要求的结果。复制代码代码如下:CREATEfunctionG...
数据库操作教程 2022-09-23 20:26:11 -
SQL学习笔记四聚合函数、排序方法
聚合函数count,max,min,avg,sum...selectcount(*)fromT_EmployeeselectMax(FSalary)fromT_Employee排序ASC升序DESC降序select*fromT_EmployeeorderbyFage先按年龄降序排列。如果年龄相同,则按薪水升序排列select*fromT_EmployeeorderbyFAgeDESC,FSalaryASCorderby要放在where子句之后通配符过滤通配符过滤用like单字符通配符‘_'多字符通配符‘%'select*fromT_EmployeewhereFNamelike'_erry'NULL是不知道的意思,而不是没有用SQL语句查询NULL的数据不能用=或<>而用isNULL或者isnotNULLselect*fromT_EmployeewhereFNameisNULLin(23,25)同时匹配两个值...
数据库操作教程 2022-09-23 20:26:10 -
SQLServer分页查询存储过程代码
复制代码代码如下:CREATEPROCEDURE[dbo].[up_Pager]@tablevarchar(2000),--表名@colvarchar(50),--按该列来进行分页@orderbybit,--排序,0-顺序,1-倒序@collistvarchar(800),--要查询出的字段列表,*表示全部字段@pagesizeint,--每页记录数@pageint,--指定页@conditionvarchar(800)--查询条件ASDECLARE@sqlnvarchar(4000),@where1varchar(800),@where2varchar(800),@total_Itemint,@total_PageintIF@conditionisnullorrtrim(@condition)=''BEGIN--没有查询条件SET@where1='WHERE'SET@where2=''ENDELSEBEGIN--有查询条件SET@where1='WHERE('+@condition+')AND'--本来有条件再加上此条件SET@where2='WHERE('+@condition+'...
数据库操作教程 2022-09-23 20:26:08 -
sqlserver高性能分页实现分析
先来说说实现方式:1、我们来假定Table中有一个已经建立了索引的主键字段ID(整数型),我们将按照这个字段来取数据进行分页。2、页的大小我们放在@PageSize中3、当前页号我们放在@CurrentPage中4、如何让记录指针快速滚动到我们要取的数据开头的那一行呢,这是关键所在!有了SetRowCount,我们就很容易实现了...
数据库操作教程 2022-09-23 20:26:07 -
sqlserver支持定位当前页,自定义排序的分页SQL(拒绝动态SQL)
1,场景:根据学生编号查询,返回该学生所在班级的所有学生。支持分页、自定义排序及结果集自动定位到查询条件的学生编号所在页...
数据库操作教程 2022-09-23 20:26:01 -
SQLServer存储过程解析
存储过程功能的优点 为什么要使用存储过程?以下是存储过程技术的几大主要优点: 预编译执行程序。SQLServer只需要对每一个存储过程进行一次编译,然后就可以重复使用执行计划...
数据库操作教程 2022-09-23 20:25:55 -
sql取两值之间的数据方法(例:100-200之间的数据)
题:取表table中100条-200条之间数据方法1:临时表复制代码代码如下:selecttop200*into#aafromtableorderbytime--将topm笔插入临时表setrowcount100select*from#aaorderbytimedesc--droptable#aa--删除临时表方法2:复制代码代码如下:selecttop100*from(selecttop200*fromtableorderbytimeasc)aorderbytimedesc方法3:notin复制代码代码如下:selecttop100*fromv_companywhere(idnotin(selecttop100idfromv_companyorderbyidasc))orderbyidasc这里只列举3种我测试的方法,还有别的方案就由高手补上了...
数据库操作教程 2022-09-23 20:25:53 -
sqlserver数据类型转换小实验
declare@i int set@i='a' set@i=cast('a'asint) set@i=convert(int,'a') print@i &nbs...
数据库操作教程 2022-09-23 20:25:53 -
sqlserver数据库日志备份和恢复步骤
--创建测试数据库CREATEDATABASEDbGO--对数据库进行备份BACKUPDATABASEDbTODISK='c:db.bak'WITHFORMATGO--创建测试表CREATETABLEDb...
数据库操作教程 2022-09-23 20:25:47 -
win2003安装sqlserver2000提示无法验证产品密钥的解决方法
症状在ServicePack4(SP4)运行MicrosoftWindowsServer2003、MicrosoftWindowsStorageServer2003或MicrosoftWindows2000在服务器上,您尝试安装MicrosoftSQLServer2000通过卷许可协议(VLA)媒体。执行此操作时,会出现以下错误信息SQLServer安装向导的CDKEY页上:无法验证产品密钥解决方案警告如果您修改注册表错误地通过使用注册表编辑器或使用另一种方法,则可能会出现严重的问题...
数据库操作教程 2022-09-23 20:25:46 -
SQL中sp_executesql存储过程的使用帮助
摘自SQLserver帮助文档对大家优查询速度有帮助!建议使用sp_executesql而不要使用EXECUTE语句执行字符串。支持参数替换不仅使sp_executesql比EXECUTE更通用,而且还使sp_executesql更有效,因为它生成的执行计划更有可能被SQLServer重新使用...
数据库操作教程 2022-09-23 20:25:44