您的位置:首页 > 数据库

SQL之得到一个字符串中某一个字符第n次出现的位置的函数

2013-11-25 13:41 316 查看
create  function f_firstposition(@Str varchar(8000),@StrSep varchar(10),@AppPos int)
returns int
begin
declare @i int
declare @ii int
set @Str=rtrim(ltrim(@Str))
set @i=1
select @ii=charindex(@StrSep,@Str)
if @i=@AppPos
return @ii
else
while @AppPos>@i
begin
if charindex(@StrSep,right(@Str,len(@Str)-@ii))<>0
select @ii=charindex(@StrSep,right(@Str,len(@Str)-@ii))+@ii
else
set @ii=0
set @i=@i+1
end

return @ii
end


select dbo.f_firstposition('abc,def,ccc,ged',',',1)
go
返回:4
select dbo.f_firstposition('abc,def,ccc,ged',',',2)
go
返回:8
select dbo.f_firstposition('abc,def,ccc,ged',',',3)
go
返回:12
select dbo.f_firstposition('abc,def,ccc,ged',',',4)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐