草庵书生

冷眼面对一切,低调!才是最牛B的炫耀!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Sqlserver中判断一字符在另一子串中出现的次数

Posted on 2013-01-24 23:13  草庵书生  阅读(361)  评论(0编辑  收藏  举报

在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