SQL语句,统计一个字符在某个字符串中出现的次数

这个问题我第四次问了,前三次都被度娘抽了
比如在'2012-12-21'中'-'出现了2次.
有没有系统只带的方法函数什麽的直接求出来?

系统没有这样的函数,你可以自己写一个,我帮你写好了
一、生成函数
create function AccRepeat(@str varchar(50),@sub varchar(50))
returns int
as
begin
declare @pos int,@n int

select @n=0, @pos=charindex(@sub,@str)

while(@pos<>0)
begin
select @str=right(@str,len(@str)-@pos),@pos=charindex(@sub,@str),@n=@n+1
end

return(@n)
end
go

二、调用
select dbo.AccRepeat('1aa324rdaa43a','a')
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-25
直接用replace函数将要查找的字符替换为空字符,将替换之间的字符串长度-替换后字符串长度不就是字符出现的次数吗追问

厉害啊~~

相似回答