Monday, November 15, 2010

UDF for Seperation of CSV in SQL

Hi All,

This is the UDF for values having delimiter as COMMA(,)

How to Use::

1) Copy & Paste the below UDF in SQL and Execute it

ALTER FUNCTION [dbo].[UF_CSVToTable]
(
 @psCSString VARCHAR(8000)
)
RETURNS @otTemp TABLE(sID VARCHAR(20))
AS
BEGIN
 DECLARE @sTemp VARCHAR(10)

 WHILE LEN(@psCSString) > 0
 BEGIN
  SET @sTemp = LEFT(@psCSString, ISNULL(NULLIF(CHARINDEX(',', @psCSString) - 1, -1),
                    LEN(@psCSString)))
  SET @psCSString = SUBSTRING(@psCSString,ISNULL(NULLIF(CHARINDEX(',', @psCSString), 0),
                               LEN(@psCSString)) + 1, LEN(@psCSString))
  INSERT INTO @otTemp VALUES (@sTemp)
 END

RETURN
END

2) Now write the Query eg:

select * from [Your Table Name] where [Your Column Name] IN
                                                                            (Select * from UF_CSVToTable('1,2,3,4,5')

Regards,
Krunal Panchal

No comments:

Post a Comment