在sqlserver中来计算一个字符串在另一个字符串中出现的次数,通常会用循环去匹配,然后计算出现的次数,这样的效率不是很高。下面提供一种比较简单的方法来实现同样的功能:
CREATE FUNCTION fn_CountRep
(
@words NVARCHAR(4000),
@split NVARCHAR(2)
)
RETURNS INTEGER
AS
BEGIN
RETURN len(replace(@words,@split,@split+'_'))-len(@words) --方法一
--RETURN (len(@words)-len(replace(@words,@split,'')))/len(@split) --方法二
END