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

T-SQL 尋找字符第N次在字符串中出現的位置,拿走的給點個贊

轉載請註明出處,聯繫我: [email protected]
本人熱衷於數據庫技術及算法的研究,志同道合之士, 歡迎探討

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章