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=
- 下一篇: 新年新气象,2008年是我创业关键的一年