SQL2005EXPRESS查询关键字出现次数的代码(比常规方法快5倍)
生活随笔
收集整理的這篇文章主要介紹了
SQL2005EXPRESS查询关键字出现次数的代码(比常规方法快5倍)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
通常我們要解決查詢次數(shù)的方法是這樣的,在有空格或者其他分割符號(hào)的地方分割短語,然后逐個(gè)單詞地進(jìn)行比較。但是這樣的速度是非常慢的,現(xiàn)在有一種方法比這種方法快5倍!
那就是REPLACE!
SQL Server提供了REPLACE函數(shù),它可以用一個(gè)子串去替換所有指定字符串中出現(xiàn)的另外一個(gè)字符串,由于REPLACE是內(nèi)部函數(shù),因此運(yùn)行速度非常快!!
具體過程:
I LOVE YOU,BUT YOU DONG'T LOVE ME. 如果我們要查找LOVE這個(gè)單詞出現(xiàn)的次數(shù),我們就用REPLACE函數(shù),用LOVEX替換掉LOVE,這樣,原始語句變?yōu)镮 LOVEX YOU,BUT YOU DONG'T LOVEX ME.然后大家都想到了,對(duì)了,用LEN(),把后面的字符數(shù)量減去前面的,怎么樣2,很好,就是我們需要的次數(shù)。
OK 看一下代碼:
建立一個(gè)新的字符串,是你需要查詢的關(guān)鍵字后面+一個(gè)X
DECLARE @BIGGERWORD VARCHAR(21)
SELECT @BIGGERWORD=@WORD+'X'
建立一個(gè)新的字符串,內(nèi)容是舊的內(nèi)容用第一個(gè)字符串替換掉原來的關(guān)鍵字之后的字符
DECLARE @BIGGERPHRASE VARCHAR(2000)
SELECT @BIGGERPHRASE=REPLACE(@PHRASE,@WORD,@GIGGERWORD)
返回一個(gè)值,新字符串長度-原來字符串長度,即查詢關(guān)鍵字所出現(xiàn)的次數(shù)
RETURN LEN(BIGGERPHRASE)-LEN(@PHRASE)
那就是REPLACE!
SQL Server提供了REPLACE函數(shù),它可以用一個(gè)子串去替換所有指定字符串中出現(xiàn)的另外一個(gè)字符串,由于REPLACE是內(nèi)部函數(shù),因此運(yùn)行速度非常快!!
具體過程:
I LOVE YOU,BUT YOU DONG'T LOVE ME. 如果我們要查找LOVE這個(gè)單詞出現(xiàn)的次數(shù),我們就用REPLACE函數(shù),用LOVEX替換掉LOVE,這樣,原始語句變?yōu)镮 LOVEX YOU,BUT YOU DONG'T LOVEX ME.然后大家都想到了,對(duì)了,用LEN(),把后面的字符數(shù)量減去前面的,怎么樣2,很好,就是我們需要的次數(shù)。
OK 看一下代碼:
建立一個(gè)新的字符串,是你需要查詢的關(guān)鍵字后面+一個(gè)X
DECLARE @BIGGERWORD VARCHAR(21)
SELECT @BIGGERWORD=@WORD+'X'
建立一個(gè)新的字符串,內(nèi)容是舊的內(nèi)容用第一個(gè)字符串替換掉原來的關(guān)鍵字之后的字符
DECLARE @BIGGERPHRASE VARCHAR(2000)
SELECT @BIGGERPHRASE=REPLACE(@PHRASE,@WORD,@GIGGERWORD)
返回一個(gè)值,新字符串長度-原來字符串長度,即查詢關(guān)鍵字所出現(xiàn)的次數(shù)
RETURN LEN(BIGGERPHRASE)-LEN(@PHRASE)
轉(zhuǎn)載于:https://www.cnblogs.com/ch00694534/archive/2008/02/09/1066342.html
總結(jié)
以上是生活随笔為你收集整理的SQL2005EXPRESS查询关键字出现次数的代码(比常规方法快5倍)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: % %和ltscripte runat=
- 下一篇: 新年新气象,2008年是我创业关键的一年