Thursday, 23 January 2014

Comma Seperated String Function in Sql Server

Create function [dbo].[Split]
(
       @RowData nvarchar(2000),
       @SplitOn nvarchar(5)
) 
RETURNS @RtnValue table
(
       Id int identity(1,1),
       Data nvarchar(100)
)
AS 
BEGIN
       Declare @Cnt int
       Set @Cnt = 1

       While (Charindex(@SplitOn,@RowData)>0)
       Begin
              Insert Into @RtnValue (data)
              Select Data = Ltrim(Rtrim(Substring(@RowData,1,Charindex(@SplitOn,@RowData)-1)))

              Set @RowData = Substring(@RowData,Charindex(@SplitOn,@RowData)+1,len(@RowData))
              Set @Cnt = @Cnt + 1
       End
      
       Insert Into @RtnValue (data)
       Select Data = Ltrim(Rtrim(@RowData))

       Return


END

3 comments:

  1. Good. Now convert it to actual function which takes a very long delimited string and returns a table of splitted values.

    ReplyDelete
  2. Thanks! and Now it has been transformed to a Table_valued function ...!

    ReplyDelete