轉自 http://www.maomao365.com/?p=9858 sql
摘要:
下文講述sqlserver中最快獲取一個字符串在另外一個字符串中出現個數的方法分享
實驗環境:sql server 2008 R2函數
實現思路:
1.使用replace替換字符串後
2.使用Len獲取替換後的長度,
3.得出替換前和替換後的長度差
4.使用長度差除以替換字符串的長度,所獲得的商即爲"替換的個數"。 sqlserver
declare @a varchar(10) declare @b varchar(100) --待替換字符串 set @a ='maomao' --原字符串賦值 set @b ='sqlserver,maomao365.com,maomao,other,maomao' set @b = @b +'maomao,mama,sqlserver'; ---中間變量定義 declare @b_ varchar(100) declare @b_len int ---替換字符串 set @b_ = REPLACE(@b,@a,'') ---替換後長度獲取 set @b_len =len(@b_) if len(@a) =0 begin print N'出現個數爲0' end else begin print N'出現個數爲0' print (len(@b)-@b_len) / len(@a) end
相關閱讀:
spa