第一个参数是字符串,第二个参数是你要查找的字符 第三个参数是出现的位置
使用:select dbo.IndexOf('1,2,3,4',',',1)
--功能:查找字符第N次出现的位置
CREATE FUNCTION IndexOf(@str VARCHAR(500),@value VARCHAR(50),@posIndex INT)
RETURNS int AS
BEGIN
DECLARE @pos int=0 --记录位置
DECLARE @i INT =0 --记录查找的次数
WHILE(@i<@posindex)
BEGIN
SET @i=@i+1
set @pos=CHARINDEX(@value,@str,@pos+1)
IF(@pos=0) RETURN 0--如果没有找到就返回0,比如abcabc其中a中出现在2次@posIndex=3的话就返回0
END
RETURN @pos
END