Inserting comma separated values in to individual rows in MS SQL


	DECLARE @String_Pos int,@String_Len int,@String_Cont nvarchar(100),@CommaSeparatedValues nvarchar(max)
	SET @CommaSeparatedValues='1|2|3|4|5|6|7|8'

	SELECT @String_Pos=0
	SELECT @CommaSeparatedValues = @CommaSeparatedValues + '|'

	WHILE CHARINDEX('|',@CommaSeparatedValues) > 1
	BEGIN
		SELECT @String_Pos=CHARINDEX('|',@CommaSeparatedValues)
		SELECT @String_Cont = RTRIM(SUBSTRING(@CommaSeparatedValues,1,@String_Pos-1))
		INSERT INTO TABLE(CommaSeparatedValue) VALUES(@String_Cont)
		SELECT @String_Len = LEN(@CommaSeparatedValues)
		SELECT @CommaSeparatedValues=SUBSTRING(@CommaSeparatedValues,@String_Pos+1,@String_Len)
	END

DEMO

Leave a comment