SQL SEVER中如何实现在一个字符串中查找一个字符第三次出现的位置
2个回答
展开全部
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
SELECT dbo.IndexOf('abcabcabc','a',3)
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
SELECT dbo.IndexOf('abcabcabc','a',3)
展开全部
select case when charindex( '1', '123a11')>0 then
(case when charindex('1', '123a11', charindex('1', '123a11')+1)>0 then charindex('1','123a11', charindex('1', '123a11', charindex('1', '123a11')+1)+1) end )
end
(case when charindex('1', '123a11', charindex('1', '123a11')+1)>0 then charindex('1','123a11', charindex('1', '123a11', charindex('1', '123a11')+1)+1) end )
end
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询