Parsing the comma separated values into a temporary table

(Works in both SQL Server 7.0 and 2000)

Declare @OrderList varchar(500)
set @OrderList = 'Order1,Order2,,Order3,,,Order4,Order5,';

drop TABLE #TempList

CREATE TABLE #TempList
(
   OrderID varchar(20)
)

DECLARE @OrderID varchar(10), @Pos int
SET @OrderList = LTRIM(RTRIM(@OrderList))+ ','
SET @Pos = CHARINDEX(',', @OrderList, 1)

IF REPLACE(@OrderList, ',', '') <> ''
BEGIN
   WHILE @Pos > 0
   BEGIN
       SET @OrderID = LTRIM(RTRIM(LEFT(@OrderList, @Pos - 1)))
       IF @OrderID <> ''
       BEGIN
           INSERT INTO #TempList (OrderID) VALUES (@OrderID)
       END
       SET @OrderList = RIGHT(@OrderList, LEN(@OrderList) - @Pos)
       SET @Pos = CHARINDEX(',', @OrderList, 1)
   END
END

SELECT * FROM #TempList t

+-+-+-+-+-+
OUTPUT
+-+-+-+-+-+

OrderID
----------
Order1
Order2
Order3
Order4
Order5

Comments

Popular posts from this blog

Page Life Cycle in ASP.NET

Managed Code and UnManaged Code

Print Function By JavaScript

SQL Server 2005 with XML Parameters

Variable Value in Top Statement

Email Validation by Javascript

Overview of MVC

LINQ - C# Programming