冯海滨博客

当前位置:   网站首页 >> SQL

SQL根据下标,返回split分割后字符串

--------------------广告位招租--------------------
-- eg:SELECT dbo.Split_GetByIndex('w1,w2,,,,w,w,ew',',',1)

-- =============================================CREATE FUNCTION [dbo].[Split_GetByIndex](    @SplitStr  NVARCHAR(max),    @SplitChar NVARCHAR(10),    @Index     INT)RETURNS  nvarchar(50)ASBEGIN

    DECLARE @i INT

    DECLARE @result NVARCHAR(100)    SET @result=''

    SET @SplitStr=LTRIM(RTRIM(@SplitStr))    SET @i=0 

    WHILE CHARINDEX(@SplitChar,@SplitStr)>0 

      BEGIN    

        IF @i=@Index

           BEGIN

             SET @result=LEFT(@SplitStr,CHARINDEX(@SplitChar,@SplitStr)-1)             BREAK

           END

        SET @i=@i+1

        SET @SplitStr=RIGHT(@SplitStr,LEN(@SplitStr)-CHARINDEX(@SplitChar,@SplitStr))    

      END

    IF CHARINDEX(@SplitChar,@SplitStr)=0 AND @i=@Index

      BEGIN

        SET @result=@SplitStr

      END

      

    RETURN @resultEND

使用方法

SELECT dbo.Split_GetByIndex('w1,w2,,,,w,w,ew',',',1)


发表我的评论

Hi,您需要填写昵称和邮箱!

  • 必填项