-
sqlnotin与notexists使用中的细微差别
上面两个简单的Sql,我们从表面理解,查询的最终结果应该是一样的,但实际结果却和我们想象的不一样第一条sql查询的结果有一条数据第二条sql查询的结果却为空 原因:notexists的子查询,对于子查询不返回行和子查询返回行的查询结果是有区别的这些细小的差别千万不要被我们所忽视,一旦项目庞大了,想跟踪到具体的错误所花费的时间也是可观的。尽量把这些不必要的错误扼杀在摇篮里...
数据库操作教程 2022-09-23 17:04:50 -
数据库中的内容字段被挂马的替换方法SQL注入
清除了sqlsever中的一些挂马字段,现在总结sqlsever批量替换数据库挂马字段一文,希望可以帮助有需要的人。【处理方法】1、先备份数据,防止删除挂马字段的时候,丢失数据;2、对挂马的表中的字段text小于8000执行以下语句(网上的很多软件与方法都是针对text小于8000的,这个解决方法你可以参考)代码如下:如表news字段context挂马字段是<ScriptSrc=http://c.n%75clear3.com/css/c.js></Script>复制代码代码如下:updatenewssetcontext=replace(context,'<ScriptSrc=http://c.n%75clear3.com/css/c.js></Script>','')执行后挂马字段被清除...
数据库操作教程 2022-09-23 17:03:53 -
浅谈SQLServer中的三种物理连接操作(性能比较)
在SQLServer中,我们所常见的表与表之间的InnerJoin,OuterJoin都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为LoopJoin,MergeJoin,HashJoin这三种物理连接中的一种。理解这三种物理连接是理解在表连接时解决性能问题的基础,下面我来对这三种连接的原理,适用场景进行描述...
数据库操作教程 2022-09-23 17:01:23 -
SQLServer2000中的触发器使用
下面我摘录了SQLServer官方教程中的一段关于触发器的文字,确实有用的一点文字描述。 可以定义一个无论何时用INSERT语句向表中插入数据时都会执行的触发器...
数据库操作教程 2022-09-23 16:56:58 -
用sql获取某字符串中的数字部分的语句
复制代码代码如下:createfunctiondbo.F_Get_No(@Novarchar(100))RETURNSbigintASBEGINWHILEPATINDEX('%[^0-9]%',@No)>0BEGINSET@No=STUFF(@No,PATINDEX('%[^0-9]%',@No),1,'')--删掉一个非数字的字符,循环结束,剩余的为数字部分ENDRETURNCONVERT(bigint,@No)END此函数可以返回某字符串中的数字部分PATINDEX函数返回所查内容在字符串中第一次出现的索引STUFF函数删除指定长度的字符并在指定的起始点插入另一组字符。selectF_Get_No('sdsdf2334sfsd234')返回'2334234'注明:此方法可以解决查询某字段中数字部分为固定值的记录,字母部分为定值类似...
数据库操作教程 2022-09-23 16:56:07 -
隐藏在SQLServer字段中的超诡异字符解决过程
文章作者:jhkdiy发表日期:2009-10-11程序架构:B/S开发环境:WindowsXP+IIS6+VS2003数据库:SQLServer2000部分功能:从SQLServer中导出数据到Access。这套系统做了大半年,这个导入导出还是问题不断,我负责的这块导入导出就是夹在网络版和单机版系统之间,只要任何一边对数据库做了改动这个导入导出就会失败...
数据库操作教程 2022-09-23 16:54:43 -
sql语句中的NULL值
今天写了这样的代码复制代码代码如下: DECLARE@atrNVARCHAR(20) SET@atr=NULL IF(@atr=NULL) BEGIN PRINT1 END 原本是想打印出1的。但是没有...
数据库操作教程 2022-09-23 16:54:23 -
sql函数实现去除字符串中的相同的字符串
复制代码代码如下:---去除字符串中重復的值函數createfunctionStringRemove(@strnvarchar(2000))returnsvarchar(2000)asbegindeclare@resultnvarchar(2000),@tempnvarchar(1000)set@result=''set@temp=''while(charindex(',',@str)<>0)beginset@temp=substring(@str,1,charindex(',',@str))if(charindex(@temp,@result)<=0)set@result=@result+@tempset@str=stuff(@str,1,charindex(',',@str),'')endreturn@resultendGO--('塗聚文','塗','塗聚文','1','23','1')--測試selectdbo.StringRemove('塗聚文,塗,塗聚文,1,23,1')...
数据库操作教程 2022-09-23 16:47:56 -
SQLServer2012在开发中的一些新特性
一、增加了Sequence对象。这个对于Oracle用户来说是最熟悉不过的数据库对象了,现在在SQLServer中终于也看到了类似的对象,只是在使用的语法上有一点点不一样...
数据库操作教程 2022-09-23 16:47:30 -
用SQL脚本读取Excel中的sheet数量及名称的方法代码
复制代码代码如下:--Gettable(worksheet)orcolumn(field)listingsfromanexcelspreadsheet --设置变量 declare@linkedServerNamesysname='TempExcelSpreadsheet' declare@excelFileUrlnvarchar(1000)='D:text.xlsx' --/SET --删除链接服务(如果它已经存在) ifexists(selectnullfromsys...
数据库操作教程 2022-09-23 16:46:48 -
SqlServer中的非聚集索引详细介
非聚集索引,这个是大家都非常熟悉的一个东西,有时候我们由于业务原因,sql写的非常复杂,需要join很多张表,然后就泪流满面了。...
数据库操作教程 2022-09-23 16:45:39 -
深入理解SqlServer中的表扫描
很久以前我们在写sql的时候,最怕的一件事情就是sql莫名奇妙的超级慢,慢的是撸一管子回来,那个小球还在一直转。...
数据库操作教程 2022-09-23 16:45:30