第一个参数是字符串,第二个参数是你要查找的字符 第三个参数是出现的位置
使用: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
本文介绍了一个 SQL 自定义函数,用于查找指定字符在字符串中第 N 次出现的位置。该函数接受三个参数:目标字符串、要查找的字符及出现次数,并返回对应的索引位置。
6971

被折叠的 条评论
为什么被折叠?



