Thursday, 25 May 2017

SQL Function To Split String Using Split (Comma Separated String )

CREATE FUNCTION dbo.Fn_Split
    (
      @INPUT VARCHAR(MAX) ,
      @SEPARATOR NVARCHAR(5)
    )
RETURNS @ReturnTabValue TABLE
    (
      Value NVARCHAR(MAX)
    )
AS
    BEGIN
        WHILE ( CHARINDEX(@SEPARATOR, @INPUT) > 0 )
        BEGIN
INSERT INTO @ReturnTabValue( Value)
            SELECT  Value = LTRIM(RTRIM(SUBSTRING(@INPUT, 1,CHARINDEX(@SEPARATOR,@INPUT) - 1)));

            SET @INPUT = SUBSTRING(@INPUT,CHARINDEX(@SEPARATOR, @INPUT)+ LEN(@SEPARATOR), LEN(@INPUT));
        END

        INSERT  INTO @ReturnTabValue( Value )
             SELECT  Value = LTRIM(RTRIM(@INPUT));
        
DELETE  FROM @ReturnTabValue WHERE   ISNULL(Value, '') = ''
        RETURN
    END
GO


Output : - 

SELECT * FROM dbo.Fn_Split('1,2,3,4,5,6',',')

No comments:

Post a Comment