dbo.spListToTable_ORDERED

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Null on Null Input

False

Schema Bound

False

Assembly

Parameters

3
Name Data Type Length Description
(Result) TABLE max
@List varchar -1
@Delim char 1

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE OR ALTER FUNCTION dbo.spListToTable_ORDERED
(
    @List VARCHAR(MAX),
    @Delim CHAR
) RETURNS @ParsedList TABLE ( item VARCHAR(MAX),iRow int identity (1,1) )
AS
BEGIN
    DECLARE @item VARCHAR(MAX), @Pos INT
     
    SET @List = LTRIM(RTRIM(@List))+ @Delim
    SET @Pos = CHARINDEX(@Delim, @List, 1)
     
    WHILE @Pos > 0
    BEGIN
        SET @item = LTRIM(RTRIM(LEFT(@List, @Pos - 1)))
        IF @item <> ''
        BEGIN
            INSERT INTO @ParsedList (item)
            VALUES (CAST(@item AS VARCHAR(MAX)))
        END
         
        SET @List = RIGHT(@List, LEN(@List) - @Pos)
        SET @Pos = CHARINDEX(@Delim, @List, 1)
    END
    RETURN
END
GO

Depends On

No items found