-
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 -
探讨SQLcomputeby的使用分析
GROUPBY子句有个缺点,就是返回的结果集中只有合计数据,而没有原始的详细记录。如果想在SQLSERVER中完成这项工作,可以使用COMPUTEBY子句...
数据库操作教程 2022-09-23 17:24:24 -
MSSQL将截断字符串或二进制数据问题的解决方法
地图数据存放在sqlserver2008中,使用mapxtreme7开发时,使用Feature.Update()方法时出错的提示包含“MSSQL将截断字符串或二进制数据”主要原因就是给某个字段赋值时,内容大于字段的长度或类型不符造成的解决方法:一个是修改数据库字段大小;再一就是是加强数据强壮性,严格的输入判断。防止添加的信息类型或者长度与数据库表中字段所对应的类型不符合...
数据库操作教程 2022-09-23 17:24:18 -
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 -
安装sqlserver2008后再安装sql2005找不到本地服务器的解决方法
最近在项目中安装sqlserver2005,发现找不到本地服务器,因为此前我已经安装了sqlserver2008,打开2005数据库引擎后找不到本地服务器,在网上也找不到正确的解决办法,以为是组件没有安装,有重新安装一次问题依然存在,当时很是郁闷,后来想想是不是组件没有安装,重装了一次还是这样,后来想想是不是2005的服务器实例与2008重合了,在重装的时候就在安装此步骤的实例没有选择默认实例如下图,此处要注意:不能选择默认实例,单击“已安装的实例”会发现有2008的服务器名称,如果选择默认的就不会安装2005的服务器所有在命名实例中填入服务器名称,如SQL2005,其他的安装按照正常步骤来,后来安装完成后在本地服务器中找到了2005的本地服务器。在此sqlserver安装过程中相信也有遇到同类问题的友友,在此处记录下来,以免遇到同样问题的博友重蹈覆辙!...
数据库操作教程 2022-09-23 17:24:07 -
在SQLServer中实现最短路径搜索的解决方法
开始这是去年的问题了,今天在整理邮件的时候才发现这个问题,感觉顶有意思的,特记录下来。在表RelationGraph中,有三个字段(ID,Node,RelatedNode),其中Node和RelatedNode两个字段描述两个节点的连接关系;现在要求,找出从节点"p"至节点"j",最短路径(即经过的节点最少)...
数据库操作教程 2022-09-23 17:24:06 -
SQLServer日志清空语句(sql2000,sql2005,sql2008)
SQLServer日志清空方法 在查询分析器中顺序执行以下三步,其中databasename为你的数据库文件名sql2000日志清空可以将jb51.ldf文件变得很小,方便备份数据库等,在sqlserver查询分析器中执行即可。复制代码代码如下:DUMPTRANSACTION[jb51]WITHNO_LOGBACKUPLOG[jb51]WITHNO_LOGDBCCSHRINKDATABASE([jb51])1.清空日志:DUMPTRANSACTION[databasename]WITHNO_LOG 2.截断事务日志:BACKUPLOG[databasename]WITHNO_LOG 3.收缩数据库:DBCCSHRINKDATABASE([databasename]) 注:数据库名陈最好加上[]SQLServer数据库日志清理清除sqlserver2005日志有时候当系统运行时间比较长的时候,我们把备份的数据库还原的时候发现,数据库中数据文件和日志文件变的好大,特别是日志文件...
数据库操作教程 2022-09-23 17:23:59