Recent PostsRecent Posts Popular TopicsPopular Topics
 Home Search Members Calendar Who's On

 Get given character's position from a string Rate Topic Display Mode Topic Options
Author
 Message
 Posted Wednesday, December 19, 2007 12:13 AM
 Forum Newbie Group: General Forum Members Last Login: Tuesday, June 03, 2008 8:47 PM Points: 8, Visits: 18
 Comments posted to this topic are about the item Get given character's position from a string
Post #434636
 Posted Thursday, February 14, 2008 1:33 PM
 Forum Newbie Group: General Forum Members Last Login: Tuesday, September 03, 2013 12:47 PM Points: 2, Visits: 126
 Function has a bug in it. If the @AppPos is two higher than the last match, the result is incorrect.Exampleselect dbo.f_firstposition('abc,def',',',3)goResult:4 Incorrect One Solution - Break when you can't find the next occurrence :create function dbo.f_firstposition(@Str varchar(8000),@StrSep varchar(10),@AppPos int)returns intbegin 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 begin set @ii=0 break end set @i=@i+1 end return @iiendgo
Post #455975

 Permissions