T-SQL 寻找字符第N次在字符串中出现的位置

T-SQL 寻找字符第N次在字符串中出现的位置,拿走的给点个赞

转载请注明出处,联系我: t39q@163.com
本人热衷于数据库技术及算法的研究,志同道合之士, 欢迎探讨

create FUNCTION dbo.FindCharIndex 
(@str NVARCHAR(4000), @find NVARCHAR(4000), @n SMALLINT)
RETURNS INT
AS
BEGIN
  IF @n < 1
    RETURN (0)
  DECLARE @start SMALLINT
         ,@count SMALLINT
         ,@index SMALLINT
         ,@len SMALLINT
  SET @index = CHARINDEX(@find, @str)
  IF @index = 0
    RETURN (0)
  ELSE
    SELECT
      @count = 1
     ,@len = LEN(@find)
  WHILE @index > 0
  AND @count < @n
  BEGIN
  SET @start = @index + @len
  SELECT
    @index = CHARINDEX(@find, @str, @start)
   ,@count = @count + 1
  END
  IF @count < @n
    SET @index = 0
  RETURN (@index)
END;
GO
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值