/ Published in: SQL
Expand |
Embed | Plain Text
--- takes a delimetered value and returns a table --Usage: -- SELECT Data -- FROM dbo.fnSplit('A,B,C', ','); CREATE FUNCTION [dbo].[fnSplit] ( @RowData varchar(4000), @SplitOn varchar(5) ) RETURNS @RtnValue TABLE ( Id int identity(1,1), DATA varchar(1000) ) 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
You need to login to post a comment.
