-
sqlserver中比较一个字符串中是否含含另一个字符串中的一个字符
版本一:按分隔符进行比较算法思路:按分隔符截取搜索字符串循环与待搜索字符进行比较复制代码代码如下:USE[Fly]GO--参数:@inStr待搜索字串,@fndStr搜索字串,@doc分隔符--例:selectdbo.fSearch('1,2,3,4,5,6','3,6,5,8,2',',')返回0-不匹配,返回1-匹配(@instr中有@fndStr内容)--可以用于表搜索,如:--Select*,dbo...
数据库操作教程 2022-09-23 20:21:32 -
一个用来统计相同姓名人数的SQl语句
sql语句查询表结构是这样:ID姓名性别1张三男2王四男3丽丽女4张三男5赵柳男6高洁男7王四女8高洁女9张三女怎么能用一条SQL语句查询出如下的结果姓名人员个数男人数女人数包含ID张三3211,4,9王四2112,7丽丽1013高洁2116,8赵柳1105复制代码代码如下:SELECT*FROM(SELECTDISTINCTName,Count(ID)as人員個數,sum(casewhenSex='男'then1else0end)as男人數,sum(casewhenSex='女'then1else0end)as女人數FROMTestgroupbyName)AOUTERAPPLY(SELECT[包含ID]=STUFF(REPLACE(REPLACE((SELECTIDFROMTestNWHEREName=A.NameFORXMLAUTO),'<NID="',','),'"/>',''),1,1,''))N...
数据库操作教程 2022-09-23 20:21:23 -
将所有符合条件的结果拼接成一列并用逗号隔开的一个sql语句
复制代码代码如下:createtabletb(idint,valuevarchar(10))insertintotbvalues(1,'aa')insertintotbvalues(1,'bb')insertintotbvalues(2,'aaa')insertintotbvalues(2,'bbb')insertintotbvalues(2,'ccc')gocreatefunction[dbo].[f_str](@idint)returnsnvarchar(1000)asbegindeclare@strnvarchar(1000)set@str=''select@str=@str+','+cast(valueasnvarchar(900))fromtbwhereid=@idset@str=right(@str,len(@str)-1)return@strendgo--调用函数selectid,value=dbo.f_str(id)fromtbgroupbyid运行结果:本来在上面的函数中所有的nvarchar都是varchar类型的,并且上面函数的红色处在调用cast方法时,并未指定...
数据库操作教程 2022-09-23 20:21:15 -
分享一个简单的sql注入
所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句...
数据库操作教程 2022-09-23 18:19:45 -
CASE表达式实现基于条件逻辑来返回一个值
我们在开发过程中,经常需要针对一列,基于条件逻辑来返回一个值,那么,这时候就需要使用到CASE表达式了。例如,以下对Products表的查询就在SELECT语句中使用了CASE表达式,以生成用于描述categoryid列取值的信息...
数据库操作教程 2022-09-23 17:54:51 -
Sql存储过程游标循环的用法及sql如何使用cursor写一个简单的循环
用游标,和WHILE可以遍历您的查询中的每一条记录并将要求的字段传给变量进行相应的处理==================DECLARE@A1VARCHAR(10),@A2VARCHAR(10),@A3INTDECLARECURSORYOUCURNAMEFORSELECTA1,A2,A3FROMYOUTABLENAMEOPENYOUCURNAMEfetchnextfromyoucurnameinto@a1,@a2,@a3while@@fetch_status<>-1beginupdate…set…-a3where………您要执行的操作写在这里fetchnextfromyoucurnameinto@a1,@a2,@a3endcloseyoucurnamedeallocateyoucurname—————————————在应用程序开发的时候,我们经常可能会遇到下面的应用,我们会通过查询数据表的记录集,循环每一条记录,通过每一条的记录集对另一张表进行数据进行操作,如插入与更新,我们现在假设有一个这样的业务:老师为所在班级的学生选课,选的课程如有哲学、马克思主义政治经济学、毛泽东思想...
数据库操作教程 2022-09-23 17:53:26 -
查询Sqlserver数据库死锁的一个存储过程分享
使用sqlserver作为数据库的应用系统,都避免不了有时候会产生死锁,死锁出现以后,维护人员或者开发人员大多只会通过sp_who来查找死锁的进程,然后用sp_kill杀掉。利用sp_who_lock这个存储过程,可以很方便的知道哪个进程出现了死锁,出现死锁的问题在哪里.创建sp_who_lock存储过程CREATEproceduresp_who_lockasbegindeclare@spidintdeclare@blkintdeclare@countintdeclare@indexintdeclare@locktinyintset@lock=0createtable#temp_who_lock(idintidentity(1,1),spidint,blkint)if@@error<>0return@@errorinsertinto#temp_who_lock(spid,blk)select0,blockedfrom(select*frommaster..sysprocesseswhereblocked>0)awherenotexists(select*frommas...
数据库操作教程 2022-09-23 17:47:30 -
一个统计表每天的新增行数及新增存储空间的功能
使用文中提供的代码做一个统计表每天的新增行数及新增存储空间的功能实现步骤如下:1.创建表创建表,存储每天的表空间占用情况CREATETABLE[dbo]...
数据库操作教程 2022-09-23 17:45:50 -
数据库表的创建、管理和数据操作(实验一)
今天我们就以实验的形式对表的创建、管理和数据操作进行学习,上课吧。【实验目的】:了解SQL语言的使用,进一步理解关系运算,巩固数据库的基础知识...
数据库操作教程 2022-09-23 17:41:50 -
Transactionalreplication(事务复制)详解之如何跳过一个事务
在transactionalreplication,经常会遇到数据同步延迟的情况。有时候这些延迟是由于在publication中执行了一个更新,例如updatetasetcol=?Where?,这个更新包含巨大的数据量...
数据库操作教程 2022-09-23 17:38:49 -
在sqlServer自定义一个用户定义星期函数
文件:.wmv;大小:19,535KB;长度:00:26:39。下载地址:SqlFunction_udf_Week.rar以下内容于20120105更新:2012年刚到,开发的软件使用这个函数发现bug...
数据库操作教程 2022-09-23 17:38:32 -
图文教程mssqlserver数据库导出到另外一个数据库的方法
下文通过图文并茂的方式给大家介绍mssqlserver数据库导出到另外一个数据库的方法,具体详情请看下文。1.准备源数据库,找到想要导出的数据库,右键选择"任务"再选择"导出数据"2.设置源数据库信息 3.设置目标数据库,导出到的数据库信息 4.设置要复制的数据这里有两大类,一是直接复制某些表,二是根据sql查询出的指定数据复制某些表的话选择第一项,之后选择要复制的表,选择之后点击"完成"按钮即可开始复制数据从源数据库到目标数据库选择第二个的话,需要提供sql以获取复制的数据集以上所述是小编给大家介绍的mssqlserver数据库导出到另外一个数据库的方法,希望大家喜欢...
数据库操作教程 2022-09-23 17:36:41