LMS知識社群各系上網率圖資處首頁登入
位置: 鄭光盛 > 技術 > SQL
【SQL】算特定字元出現次數(分大小寫)
by 鄭光盛 2014-12-03 13:48:50, 回應(0), 人氣(10529)

Create function fn_cntSpecChar(@str nvarchar(max),@char nvarchar(1))

returns int

as

begin

return len(@str)-len(replace(@str COLLATE Latin1_General_CS_AS,@char COLLATE Latin1_General_CS_AS,''));

end

 --------------------------------------------------------------

1.利用 replace置換掉搜尋的字元。

2.利用 len 計算和原字串長度差多少。

3.選用分大小寫的字集。

這樣就可以找出該字元在字串中出現的次數。

---------------------------------------------------------------
--以字串找出現幾次也可以這樣寫--------------------------------
---------------------------------------------------------------

Create function fn_cntSpecStr(@str nvarchar(max),@SpecStr nvarchar(100))

returns int

------------------------------------

-- CREATE BY ksj

-- [DATE] 2014/12/04

-- [功能] 算特定字串出現次數

-- [備註] 

------------------------------------

as

begin

if len(@SpecStr)<=0 return 0;

else

return (len(@str)-len(replace(@str COLLATE Latin1_General_CS_AS,@SpecStr COLLATE Latin1_General_CS_AS,'')))/len(@SpecStr);

return 0;

end


標籤: SQL, Replace, Len, Collate