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

Managed Code and UnManaged Code

Select nth Row from Table in SQL Server

Page Life Cycle in ASP.NET

Abstract Class and An Interface

SQL Server 2005 with XML Parameters

Print Function By JavaScript

Auto Refresh .aspx page - ASP.NET

Overview of MVC