-
sqlserverCase函数应用介绍
--简单Case函数CASEsex WHEN'1'THEN'男' WHEN'2'THEN'女'ELSE'其他'END--Case搜索函数CASEWHENsex='1'THEN'男' WHENsex='2'THEN'女'ELSE'其他'END这两种方式,可以实现相同的功能。简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式...
数据库操作教程 2022-09-23 20:26:14 -
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 -
使用sp_xml_preparedocument处理XML文档的方法
有时会在存储过程中处理一些XML格式的数据,所以会用到sp_xml_preparedocument,他可以将XML数据进行读取,然后使用MSXML分析器(Msxmlsql.dll)对其进行分析。我们就可以很容易的在存储过程中得到XML中我们想要的数据...
数据库操作教程 2022-09-23 20:26:00 -
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