if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_getcharcount]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[f_getcharcount]
GO--得到一个字符串在另一个字符串中出现的次数
create function f_getcharcount(
@str varchar(8000),
@chr varchar(20)
) returns int
as
begin
declare @re int,@i int
select @re=0,@i=charindex(@chr,@str)+1
while @i>1
select @re=@re+1
,@str=substring(@str,@i,8000)
,@i=charindex(@chr,@str)+1
return(@re)
end
go--调用示例
select dbo.f_getcharcount('aadddbbbbad','ad')

解决方案 »

  1.   

    --待查找字串
    DECLARE @s VARCHAR(MAX)
    SET @s='<br>就是这样 <br>就是这样 <br>就是这样 <br>就是这样 <br>就是这样 <br>就是这样 <br>就是这样 <br>就是这样 <br>....'--待查找值
    DECLARE @k VARCHAR(100)
    SET @k='<br>就是这样'SELECT (LEN(@s) - LEN(REPLACE(@s,@k,''))) / LEN(@k)
    /*
    8
    */
      

  2.   

    declare @v   varchar(2000)   
    set @v='就是这样 <br>就是这样 <br>就是这样 <br>就是这样 <br>就是这样 <br>就是这样 <br>就是这样 <br>就是这样 <br>就是这样 <br>...'  
    select (len(@v)-len(replace(@v,'就是这样 <br>','')))/len('就是这样 <br>')----------- 
    9
      

  3.   

    http://www.cnblogs.com/oec2003/archive/2008/08/06/1261611.html
      

  4.   

    select (len(a) - replace(a , '就是这样 <br>' , ''))/ 9 from tb