SQL2005EXPRESS查询关键字出现次数的代码(比常规方法快5倍)
生活随笔
收集整理的这篇文章主要介绍了
SQL2005EXPRESS查询关键字出现次数的代码(比常规方法快5倍)
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
通常我们要解决查询次数的方法是这样的,在有空格或者其他分割符号的地方分割短语,然后逐个单词地进行比较。但是这样的速度是非常慢的,现在有一种方法比这种方法快5倍!
那就是REPLACE!
SQL Server提供了REPLACE函数,它可以用一个子串去替换所有指定字符串中出现的另外一个字符串,由于REPLACE是内部函数,因此运行速度非常快!!
具体过程:
I LOVE YOU,BUT YOU DONG'T LOVE ME. 如果我们要查找LOVE这个单词出现的次数,我们就用REPLACE函数,用LOVEX替换掉LOVE,这样,原始语句变为I LOVEX YOU,BUT YOU DONG'T LOVEX ME.然后大家都想到了,对了,用LEN(),把后面的字符数量减去前面的,怎么样2,很好,就是我们需要的次数。
OK 看一下代码:
建立一个新的字符串,是你需要查询的关键字后面+一个X
DECLARE @BIGGERWORD VARCHAR(21)
SELECT @BIGGERWORD=@WORD+'X'
建立一个新的字符串,内容是旧的内容用第一个字符串替换掉原来的关键字之后的字符
DECLARE @BIGGERPHRASE VARCHAR(2000)
SELECT @BIGGERPHRASE=REPLACE(@PHRASE,@WORD,@GIGGERWORD)
返回一个值,新字符串长度-原来字符串长度,即查询关键字所出现的次数
RETURN LEN(BIGGERPHRASE)-LEN(@PHRASE)
那就是REPLACE!
SQL Server提供了REPLACE函数,它可以用一个子串去替换所有指定字符串中出现的另外一个字符串,由于REPLACE是内部函数,因此运行速度非常快!!
具体过程:
I LOVE YOU,BUT YOU DONG'T LOVE ME. 如果我们要查找LOVE这个单词出现的次数,我们就用REPLACE函数,用LOVEX替换掉LOVE,这样,原始语句变为I LOVEX YOU,BUT YOU DONG'T LOVEX ME.然后大家都想到了,对了,用LEN(),把后面的字符数量减去前面的,怎么样2,很好,就是我们需要的次数。
OK 看一下代码:
建立一个新的字符串,是你需要查询的关键字后面+一个X
DECLARE @BIGGERWORD VARCHAR(21)
SELECT @BIGGERWORD=@WORD+'X'
建立一个新的字符串,内容是旧的内容用第一个字符串替换掉原来的关键字之后的字符
DECLARE @BIGGERPHRASE VARCHAR(2000)
SELECT @BIGGERPHRASE=REPLACE(@PHRASE,@WORD,@GIGGERWORD)
返回一个值,新字符串长度-原来字符串长度,即查询关键字所出现的次数
RETURN LEN(BIGGERPHRASE)-LEN(@PHRASE)
转载于:https://www.cnblogs.com/ch00694534/archive/2008/02/09/1066342.html
总结
以上是生活随笔为你收集整理的SQL2005EXPRESS查询关键字出现次数的代码(比常规方法快5倍)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: % %和ltscripte runat=
- 下一篇: SQL改變字符串標識符