SqlServer之like.charindex.patindex   1.环境介绍 测试环境 SQL2005 测试数据 200W条   2.环境准备 2.1建表 CREATE TABLE [dbo].[Depratments](         [Dep_id] [int] NOT NULL,         [Dep_name] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL ) ON [PRIMARY] 2.2创建数据 create pro…
SqlServer中的merge操作(转载)   今天在一个存储过程中看见了merge这个关键字,第一个想法是,这个是配置管理中的概念吗,把相邻两次的更改合并到一起.后来在technet上搜索发现别有洞天,原来是另外一个sql关键字,t-sql的语法还是相当地丰富的.本篇是一篇学习笔记,没有什么新意,这里给出technet上的地址连接供大家参考权威:http://technet.microsoft.com/zh-cn/library/bb510625.aspx,这里具体的语法不去深究了,只是把几…
SQL Server内核架构剖析 (转载) 这篇文章在我电脑里好长时间了,今天不小心给翻出来了,觉得写得很不错,因此贴出来共享. 不得不承认的是,一个优秀的软件是一步一步脚踏实地积累起来的,众多优秀的程序员呕心沥血,他们已经不是在简单的写代码,而是在创作一门艺术. 和前面提到的暴雪公司的发展相比他们有一个相同之处,即:他们只做经典.不能说他们集中的全世界最优秀的程序员,而实际上他们集中的是全世界最好的思想,并且付诸实践. 成功不是靠急于求成,而是靠远见.祝Microsoft SQL Server…
字符串查找.在模糊朝找的情况下,其实3者的效率是差不多的.都需要一个一个取出来然后扫一遍╮(╯_╰)╭.然而用法还是会有一点儿的区别 1 charindex (查找的字符串,字符串表达式[,开始查找的位置]) ,简单来说用法就是这样纸.然而这个函数对 text,ntext,image 类型无效,并且从1开始哦~并不是0 ) 2  Patindex ('%查找的字符串%',字符串表达式) ,既然能用 %% 那就表示了兼容了like 所支持的正则表达式了. 3 like 这个就省略了╮(╯_╰)╭.…
-- CHARINDEX函数 -- 返回字符或者字符串在另一个字符串中的起始位置. -- 语法:CHARINDEX(expression1 , expression2 [,start_location]) -- Expression1 是要到 expression2 中寻找的字符中,start_location 是 CHARINDEX 函数开始在 expression2 中找expression1 的位置. -- 示例: Select CHARiNDEX('B','AAABBB') -- PAT…
事实上在网上可以找到很多这方面的资料,在这边就不多说了~主要观点在性能方面还是比较倾向于charindex,下面就测试下: 测试环境:共50批次,每批次50000数据,测试总共250万数据. 一.like搜索如下: declare @count int declare @batch int declare @totalBatch int ) ) declare @times int declare @timediff datetime set @timediff = GETDATE() set…
CHARINDEX作用 写SQL语句我们经常需要判断一个字符串中是否包含另一个字符串,但是SQL SERVER中并没有像C#提供了Contains函数,不过SQL SERVER中提供了一个叫CHAEINDX的函数,顾名思义就是找到字符(char)的位置(index),既然能够知道所在的位置,当然就可以判断是否包含在其中了. 通过CHARINDEX如果能够找到对应的字符串,则返回该字符串位置,否则返回0. 基本语法如下: CHARINDEX ( expressionToFind , express…
转载来源一:https://www.cnblogs.com/zhuisuo/archive/2012/01/11/2318908.html 汉字转全拼音函数优化方案(SQLServer),值得你看看 去年1月份时写了一篇关于优化汉字转拼音函数的解决方案,当时重点在于优化所举案例只能解决汉字转为拼音的首字母. 前不久收到这样一条短消息 随之我从(CSDN,CNBLOG,51CTO等)搜了几个解决方案,性能确实都不大理想. 首先还是感谢园友这个问题,接下来我就从网上抽取两个案例作优化说明 函数要求实…
出处不明 概述: 作为DBA,经常要用开发人员提供的SQL脚本来更新正式数据库,但是一个比较合理的开发流程,当提交脚本给DBA执行的时候,可能已经有几百个sql文件,并且有执行顺序,如我现在工作的公司,十几个客户,每个客户一个库,但是数据库结构.存储过程.视图等都是一模一样,每次执行脚本(以下称为升级),如果有一百个脚本,那么就要按顺序执行过千次,这种工作量可不是一个人能承受得了的. 解决方法: 应对这种情况有以下几种方法: 1.  购买第三方软件(一般估计很少人买) 2.  自己编程一个小软件…
-- 创建测试表 -- DROP TABLE FullTextIndexing CREATE TABLE FullTextIndexing ( ID ,) NOT NULL, Sentence VARCHAR(MAX) ) -- 创建聚集索引 ALTER TABLE FullTextIndexing ADD CONSTRAINT PK_FullTextIndexing PRIMARY KEY CLUSTERED(ID ASC) GO -- 将"全文搜索概述"页面的文字全部拷贝到txt,…