轉自 http://www.maomao365.com/?p=9858 摘要: 下文講述sqlserver中最快獲取一個字元串在另一個字元串中出現個數的方法分享 實驗環境:sql server 2008 R2 實現思路: 1.使用replace替換字元串後 2.使用Len獲取替換後的長度, 3.得出 ...
轉自 http://www.maomao365.com/?p=9858
摘要:
下文講述sqlserver中最快獲取一個字元串在另一個字元串中出現個數的方法分享
實驗環境:sql server 2008 R2
實現思路:
1.使用replace替換字元串後
2.使用Len獲取替換後的長度,
3.得出替換前和替換後的長度差
4.使用長度差除以替換字元串的長度,所得到的商即為"替換的個數"。
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
相關閱讀:
sqlserver len和datalength關鍵字用法簡介