码迷,mamicode.com
首页 > 数据库 > 详细

sqlserver 找出字符第N次出现的位置

时间:2017-04-25 19:16:53      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:select   i+1   --   查找   turn   函数   dex   var   class   

【1编写函数】
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
【2调用示例】
SELECT dbo.IndexOf(‘abcabcabc‘,‘a‘,3)

sqlserver 找出字符第N次出现的位置

标签:select   i+1   --   查找   turn   函数   dex   var   class   

原文地址:http://www.cnblogs.com/lj821022/p/6763648.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!