ALTER function [dbo].[BOSplit](@SourceSql nvarchar(max),  --要分割的字段@StrSeprate varchar(10)      --分割符)returns @temp table(value nvarchar(100))as begin    declare @i int    set @SourceSql=rtrim(ltrim(@SourceSql))    set @i=charindex(@StrSeprate,@Source…
前言 在操作数据库的时候经常会用到判断数据表.视图.函数/方法.存储过程是否存在,若存在,则需要删除后再重新创建.以下是MS SQL Server中的示例代码. 数据表(Table) 创建数据表的时候判断数据表是否存在,若存在则删除,会经常使用,特别是初始化的时候. --方法一 /*判断数据表是否存在,若存在则删除数据表*/ IF EXISTS (SELECT * FROM sys.objects WHERE name = 'Table_Name') DROP TABLE Table_Name;…
    工作中时常遇到字符串转换为拼音的需求.特别目前在各大网站平台都可以看到的基于拼音的查询功能.如果在查询中增加相应的拼音查询,就可以减少很多的因中文汉字完全输入的不便利,例如:当我要查询叫”郭德纲“人员时,直接输入"GDG"即可,这样是不是比较方便输入.          中文汉字有个特点:同字不同音 .在不同的语境或中文汉字组合时,会出现不同的读法.比如:参加会议中的”参“和中药材人参中“参”是两个不同的读音,诸如这样的中文汉字有不少的.本版块的实现也存在这样的问题.可以通过项…
SQL Server的一个不显眼的功能 备份文件的分割 当完整备份数据库的时候,我们有时候可能会遇到一种极端情况,比如服务器上C,D,E三个盘符都只剩下5G空间了 但是如果要完整备份业务库需要12G的空间,那么这时候怎么办呢? 使用文件组备份吗?但是数据库没有做表分区,没有分多个文件组,就只有一个主文件组啊 这时候我们可以使用备份文件分割 我使用自己机器示范一下,我的机器上有一个Temp2的数据库,数据库大小为1GB 备份 我们做一个Temp2数据库的完整备份 ), ) ),'-','_'),'…
SQL Server 中截取字符串常用的函数: .LEFT ( character_expression , integer_expression ) 函数说明:LEFT ( '源字符串' , '要截取最左边的字符数' ) 返回从字符串左边开始指定个数的字符 ); 返回结果:SQL_ .RIGHT ( character_expression , integer_expression ) 函数说明:RIGHT ( '源字符串' , '要截取最右边的字符数' ) 返回字符串中从右边开始指定个数的…
Sql Server 中一个非常强大的日期格式化函数Select CONVERT(varchar(100), GETDATE(), 0)-- 05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDATE(), 1)-- 05/16/06Select CONVERT(varchar(100), GETDATE(), 2)-- 06.05.16Select CONVERT(varchar(100), GETDATE(), 3)-- 16/05/06 S…
sql server 查找包含字符串的对象 SELECT sm.object_id, OBJECT_NAME(sm.object_id) AS object_name, o.type, o.type_desc, sm.definition FROM sys.sql_modules AS sm JOIN sys.objects AS o ON sm.object_id = o.object_id where sm.definition like '%要匹配的内容%' --collate SQL_L…
一个简单的更新查询 现在应该知道只读取数据的查询生命周期,下一步来认定当你需要更新数据时会发生什么.这个部分通过看一个简单的UPDATE查询,修改刚才例子里读取的数据,来回答. 庆幸的是,直到存取方法(Access Methods)前,更新操作和刚才SELECT语句流程是一模一样的. 这次存取方法(Access Methods)需要修改数据,因此在I/O请求传递前,修改的细节要存放于硬盘.这个就是事务管理器(Transaction Manager)的工作. 事务管理器(Transaction M…
SQL Server 中截取字符串常用的函数: 1.LEFT ( character_expression , integer_expression ) 函数说明:LEFT ( '源字符串' , '要截取最左边的字符数'  ) 返回从字符串左边开始指定个数的字符  ); 返回结果:SQL_ 2.RIGHT ( character_expression , integer_expression ) 函数说明:RIGHT ( '源字符串' , '要截取最右边的字符数'  ) 返回字符串中从右边开始指…
缘由:进行update时忘了加where条件,导致所有数据全部update.. sql: 1 update Activity set endTime=b.endTime from idj_tl_bf.dbo.Activity as b where activity.ID=b.ID 补充一个sql server dateTime类型字段加两个小时方法: ,startTime) 谨以此帖,告诫自己,动服务器的时候千万别哈牛逼!!细心细心细心!!…