-
深入SQLSERVER合并相关操作Union,Except,Intersect的详解
对于结果集有几个处理,值得讲解一下1.并集(union,Unionall)这个很简单,是把两个结果集水平合并起来。例如SELECT*FROMAUNIONSELECT*FROMB【注意】union会删除重复值,也就是说A和B中重复的行,最终只会出现一次,而unionall则会保留重复行...
数据库操作教程 2022-09-23 17:25:01 -
sqlserver对字段的添加修改删除、以及字段的说明
复制代码代码如下:--新增表字段ALTERprocedure[dbo].[sp_Web_TableFiled_Insert](@TableNamevarchar(100),@FieldNamevarchar(100),@FieldExplainvarchar(200),@DataTypevarchar(100),@ConnectTableNamevarchar(100),@FieldLengthint,@NewsIDintoutput)asbegintransactionmytrandeclare@errorSumintifnotexists(SELECT*FROMsyscolumnswhereid=object_id(@TableName)ANDname=@FieldName)begininserttb_TableField(TableName,FieldName,FieldExplain,DataType,ConnectTableName,FieldLength,UserSetSign)values(@TableName,@FieldName,@FieldExplain,@Data...
数据库操作教程 2022-09-23 17:24:52 -
sqlserver数据库最大Id冲突问题解决方法之一
复制代码代码如下:CREATETABLE[dbo].[TbGuidTable]([TableName][varchar](50)NOTNULL,[KeyName][varchar](20)NOTNULL,[KeyValue][varchar](100)NOTNULL)ON[PRIMARY]GOifexists(select*fromdbo...
数据库操作教程 2022-09-23 17:24:48 -
深入SQLServer中定长char(n)与变长varchar(n)的区别详解
char(n)是定长格式,格式为char(n)的字段固定占用n个字符宽度,如果实际存放的数据长度超过n将被截取多出部分,如果长度小于n就用空字符填充。varchar(n)是变长格式,这种格式的字段根据实际数据长度分配空间,不浪费对于的空间,但是搜索数据的速度会麻烦一点...
数据库操作教程 2022-09-23 17:24:42 -
SQLServer提取数字、提取英文、提取中文的sql语句
--SQL判断字段值是否有中文createfunctionfun_getCN(@strnvarchar(4000))returnsnvarchar(4000)asbegindeclare@wordnchar(1),@CNnvarchar(4000)set@CN=''whilelen(@str)>0beginset@word=left(@str,1)ifunicode(@word)between19968and19968+20901set@CN=@CN+@wordset@str=right(@str,len(@str)-1)[email protected]_getCN('ASDKG论坛KDL')--论坛selectdbo...
数据库操作教程 2022-09-23 17:24:40 -
SQLServer全文检索(full-text)语法
sqlserver全文检索有两种搜索方式,一种是contains,另一种是freetext。前者是包含,类似于like'%关键词%',后者则是将一段文字分词以后对每个词进行搜索...
数据库操作教程 2022-09-23 17:24:38 -
总结下sqlservergroupby的用法
今天用实例总结一下groupby的用法。归纳一下:groupby:ALL,Cube,RollUP,Compute,Computeby创建数据脚本CreateTableSalesInfo(Ctiynvarchar(50),OrderDatedatetime,OrderIDint)insertintoSalesInfoselectN'北京','2014-06-09',1001unionallselectN'北京','2014-08-09',1002unionallselectN'北京','2013-10-09',1009unionallselectN'大连','2013-08-09',4001unionallselectN'大连','2013-10-09',4002unionallselectN'大连','2013-05-12',4003unionallselectN'大连','2014-11-11',4004unionallselectN'大连','2014-12-11',4005首先执行以下脚本:selectCtiy,count(OrderID)asOrderCountfromSale...
数据库操作教程 2022-09-23 17:24:35 -
SQLServer中发送HTML格式邮件的方法
sqlserver发送html格式的邮件,参考代码如下:DECLARE@tableHTMLNVARCHAR(MAX);--获取当前系统时间,和数据统计的时间set@d_nowdate=convert(datetime,convert(varchar(10),dateadd(day,-1,getdate()),120),120);--如果有数据则发送ifexists(selecttop1*fromt_table1(nolock)whered_rq=@d_nowdate)beginset@str_subject='某某'+convert(varchar(10),@d_nowdate,120)+'净值.';SET@tableHTML=N'<H1>某某</H1><br>目前测试中<br><tableborder="1">'+N'<tr><th>日期</th><th>基金代码</th><th>基金名称</th><th>净值</th>...
数据库操作教程 2022-09-23 17:24:32 -
SQLSERVERAGENT警告:事件ID:312
Successfullyre-openedthelocaleventlog-NOTE:Someeventsmayhavebeenmissed.Attemptingtotore-openthelocaleventlog...Unabletoreadlocaleventlog(reason:事件日志文件已在读取间更改。). 事件类型:警告 事件来源:SQLSERVERAGENT 事件种类:AlertEngine 事件ID:312 日期:2008-7-19 事件:17:08:17 用户:N/A 计算机:B-SERVER 描述: Successfullyre-openedthelocaleventlog-NOTE:Someeventsmayhavebeenmissed. 有关更多信息,请参阅在http://go.microsoft.com/fwlink/events.asp的帮助和支持中心...
数据库操作教程 2022-09-23 17:24:14 -
SQLSERVER中忽略索引提示
当我们想让某条查询语句利用某个索引的时候,我们一般会在查询语句里加索引提示,就像这样复制代码代码如下:SELECTid,namefromTBwith(index(IX_xttrace_bal))wherebal<100当在生产环境里面,由于这个索引提示的原因,优化器一般不会再去考虑其他的索引,那有时候这个索引提示可能会导致查询变慢经过你的测试,发现确实是因为这个索引提示的关系导致查询变慢,但是SQL服务器已经缓存了这条SQL语句的执行计划,如果修改SQL语句的话可能会有影响而且,可能不单只一条SQL语句用了索引提示,还有其他的SQL语句也用了索引提示,你不可能马上去修改这些SQL语句的时候可以使用SQLSERVER里面的一个traceflag这个traceflag能忽略SQL语句里面的索引提示和存储过程里面的索引提示不需要修改SQL语句,就可以进行性能排查运行下面脚本创建数据库和相关索引复制代码代码如下:USEmasterGOIFDB_ID('Trace8602')ISNOTNULL DROPDATABASETrace8602GOCREATEDA...
数据库操作教程 2022-09-23 17:24:14 -
SQLSERVER数据备份文件的分割备份方法
当完整备份数据库的时候,我们有时候可能会遇到一种极端情况,比如服务器上C,D,E三个盘符都只剩下5G空间了但是如果要完整备份业务库需要12G的空间,那么这时候怎么办呢?使用文件组备份吗?但是数据库没有做表分区,没有分多个文件组,就只有一个主文件组啊这时候我们可以使用备份文件分割我使用自己机器示范一下,我的机器上有一个Temp2的数据库,数据库大小为1GB备份我们做一个Temp2数据库的完整备份复制代码代码如下:DECLARE@CurrentTimeVARCHAR(50),@FileNameVARCHAR(200)SET@CurrentTime=REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR,GETDATE(),120),'-','_'),'','_'),':','') --(Temp2数据库完整备份)SET@FileName='C:Temp2_FullBackup_'+@CurrentTime+'.bak'BACKUPDATABASE[Temp2]TODISK=@FileN...
数据库操作教程 2022-09-23 17:24:13