日期:2014-05-18 浏览次数:20532 次
得到一个字符串在另一个字符串中出现的次数.sql 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')
------解决方案--------------------
declare @content varchar(2000) set @content='汽车投诉的概率势必提高。加上目前,汽车三包规定尚未出台,处理起来缺了依据,就更加难上加难了' select len(@content)-len(replace(@content,'汽车',' ')) as 次数 /* 次数 ------ 2 */
------解决方案--------------------