MSSQL sqlserver 統計"一個字符串"在"另外一個字符串"中出現的次數的方法

 轉自 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

sqlserver replace函數用法分享 code

sqlserver len和datalength關鍵字用法簡介server

sqlserver算術運算方法分享blog

相關文章
相關標籤/搜索