Hello Friend...
For your solution you need to follow this steps...
1) First Create one Function in your database like this...
ALTER FUNCTION DBO.SPLIT(@STRING VARCHAR(8000), @DELIMITER CHAR(1))
RETURNS @TEMPTABLE TABLE (ID INT IDENTITY(1,1),ITEMS VARCHAR(8000))
AS
BEGIN
DECLARE @IDX INT
DECLARE @SLICE VARCHAR(8000)
SELECT @IDX = 1
IF LEN(@STRING)<1 OR @STRING IS NULL RETURN
WHILE @IDX!= 0
BEGIN
SET @IDX = CHARINDEX(@DELIMITER,@STRING)
IF @IDX!=0
SET @SLICE = LEFT(@STRING,@IDX - 1)
ELSE
SET @SLICE = @STRING
IF(LEN(@SLICE)>0)
INSERT INTO @TEMPTABLE(ITEMS) VALUES(@SLICE)
SET @STRING = RIGHT(@STRING,LEN(@STRING) - @IDX)
IF LEN(@STRING) = 0 BREAK
END
RETURN
END
2) Now you need to call insert query like this....
INSERT INTO TABLENAME
SELECT * FROM (
SELECT TOP(4) id,items FROM dbo.split('123,char,456,vargh',',')
) up
PIVOT (MAX(ITEMS) FOR ID IN ([1],[2],[3],[4])) as pvt
GO