海海日记-冯海滨博客

您现在的位置是:首页 > SQL > 正文

SQL

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

happyfhb2018-03-11SQL2557
-- 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)

平淡中储蓄成长

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~