-
SQL函数substr使用简介
substr(string,1,3)函数解读:取string中重左往右取3字长的字符串。结果为:str从右往左呢?应该有另一个函数来提供这样的功能吧!事实上,从右往左也是这个函数只是参数的不同而已...
数据库操作教程 2022-09-23 20:40:22 -
SQLServer中的切割字符串SplitString函数
复制代码代码如下:SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGO/*bykudychen2011-9-28*/CREATEfunction[dbo].[SplitString](@Inputnvarchar(max),--inputstringtobeseparated@Separatornvarchar(max)=',',--astringthatdelimitthesubstringsintheinputstring@RemoveEmptyEntriesbit=1--thereturnvaluedoesnotincludearrayelementsthatcontainanemptystring)returns@TABLEtable([Id]intidentity(1,1),[Value]nvarchar(max))asbegindeclare@Indexint,@Entrynvarchar(max)set@Index=charindex(@Separator,@Input)while(@Index>0)beginset@Entry=ltr...
数据库操作教程 2022-09-23 20:40:07 -
在数据库‘master’中拒绝CREATEDATABASE权限问题的解决方法
复制代码代码如下:publicpartialclassCMS_DBDataContext{partialvoidOnCreated(){//如果数据库不存在则创建数据库if(!this.DatabaseExists()){this.CreateDatabase();}}}遇到了以下错误:在数据库‘master'中拒绝CREATEDATABASE权限。经查阅资料得知,运行SQLServer数据库,就必须在实例下创建数据库,不管是直接创建、还是附加、还是还原,总之都得在实例下创建...
数据库操作教程 2022-09-23 20:39:32 -
SQLSERVERPagerstoreprocedure分页存储过程
复制代码代码如下:SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATEPROCEDURE[dbo].[Pagination]@Pageint=1,--当前页码@PageSizeint=10,--每页记录条数(页面大小)@Tablenvarchar(500),--表名或视图名,甚至可以是嵌套SQL:(Select*FromTabWhereID>1000)Tab@Fieldnvarchar(800)='*',--返回记录集字段名,","隔开,默认是"*"@OrderBynvarchar(100)='IDASC',--排序规则@Filternvarchar(500),--过滤条件@MaxPagesmallintoutput,--执行结果-1error,0false,maxpagetrue@TotalRowintoutput,--记录总数/*2007-07-1222:11:00update*/@Descriptvarchar(100)output--结果描述ASBEGIN--====================================...
数据库操作教程 2022-09-23 20:38:28 -
System表空间不足的报警问题浅析
废话不多说了,具体代码如下所示:--SYSTEM表空间不足的报警登录之后,查询,发现是sys.aud$占的地方太多。SQL>selectowner,segment_name,segment_type,sum(bytes)/1024/1024space_mfromdba_segmentswheretablespace_name='SYSTEM'groupbyowner,segment_name,segment_typehavingsum(bytes)/1024/1024>=20orderbyspace_mdesc;4567OWNERSEGMENT_NAMESEGMENT_TYPESPACE_M----------------------------------------------SYSAUD$TABLE4480SYSIDL_UB1$TABLE272SYSSOURCE$TABLE72SYSIDL_UB2$TABLE32SYSC_OBJ#_INTCOL#CLUSTER27SYSC_TOID_VERSION#CLUSTER246rowsselected.SQL>查看是哪个...
数据库操作教程 2022-09-23 20:38:07 -
SQL中exists的使用方法
有一个查询如下:复制代码代码如下:SELECTc.CustomerId,CompanyNameFROMCustomerscWHEREEXISTS(SELECTOrderIDFROMOrdersoWHEREo.CustomerID=cu.CustomerID)这里面的EXISTS是如何运作呢?子查询返回的是OrderId字段,可是外面的查询要找的是CustomerID和CompanyName字段,这两个字段肯定不在OrderID里面啊,这是如何匹配的呢?EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或False。EXISTS指定一个子查询,检测行的存在...
数据库操作教程 2022-09-23 20:34:48 -
distinct多列问题结合groupby的解决方法
表table1idRegNamePostionSNPersonSN1山东齐鲁制药22322山东齐鲁制药22423北京城建公司22524科技公司2252我想获得结果是idRegNamePostionSNPersonSN1山东齐鲁制药22323北京城建公司22524科技公司2252selectdistinctRegName,PostionSN...
数据库操作教程 2022-09-23 20:28:42 -
Sqlservertimestamp数据类使用介绍
在SQLServer中联机丛书是这样说的:SQLServertimestamp数据类型与时间和日期无关。SQLServertimestamp是二进制数字,它表明数据库中数据修改发生的相对顺序...
数据库操作教程 2022-09-23 20:28:11 -
sqlserver中distinct的用法(不重复的记录)
下面先来看看例子:table表字段1 字段2 id name 1 a 2 b 3 c 4 c 5 &n...
数据库操作教程 2022-09-23 20:23:24 -
过程需要参数'@statement'为'ntext/nchar/nvarchar'类型
复制代码代码如下:declare@strCountTmpvarchar(100)--记录数 换成:复制代码代码如下:declare@strCountTmpnvarchar(100)--记录数...
数据库操作教程 2022-09-23 20:22:03 -
分发服务器系统抛出18483错误,未能连接服务器,因为'distributor_admin'未定义远程登陆
系统抛出18483错误,未能连接服务器,因为'distributor_admin'未定义远程登陆我在做分发服务器,进行快照复制设置的时候在最后出现如下错误:错误18483,未能连接服务器,因为'distributor_admin'未在该服务器上定义远程登录。为什么会这样啊?该如何解决啊??急啊,还请各位指教!解决方法:我刚刚解决这种情况,你在EM中注册服务器的时候,一定要是你SQLSERVER服务器启动的名字!如果是IP地址的注册服务器,就会出现此种情况!另一种的解决方法如下:Tryselect@@servername.Ifdifferentfromtheactualservername,thenusesp_dropserver'oldservername'andafterthatsp_addserver'actualservername','local'followedbyarestartoftheSQLservice.中文意思:在查询分析器中运行select@@servername查看电脑名,如果跟当前电脑名不一样,则需要如下操作...
数据库操作教程 2022-09-23 20:21:58 -
IN&EXISTS与NOTIN&NOTEXISTS的优化原则小结
1.EXISTS的执行流程select*fromt1whereexists(selectnullfromt2wherey=x)可以理解为:复制代码代码如下:forxin(select*fromt1)loopif(exists(selectnullfromt2wherey=x.x)thenOUTPUTTHERECORDendifendloop对于in和exists的性能区别:如果子查询得出的结果集记录较少,主查询中的表较大且又有索引时应该用in,反之如果外层的主查询记录较少,子查询中的表大,又有索引时使用exists。其实我们区分in和exists主要是造成了驱动顺序的改变(这是性能变化的关键),如果是exists,那么以外层表为驱动表,先被访问,如果是IN,那么先执行子查询,所以我们会以驱动表的快速返回为目标,那么就会考虑到索引及结果集的关系了另外IN时不对NULL进行处理,如:select1fromdualwherenullin(0,1,2,null)结果为空...
数据库操作教程 2022-09-23 20:21:01