Используйте немного запросов XML:
DECLARE @mockup TABLE (
[key] INT
,[value] VARCHAR(max)
);
INSERT INTO @mockup
VALUES
(1,'A,B,C')
,(2,'A,B,C,D')
,(3,'A,B,C,D,E')
;WITH Splitted
AS (
SELECT [key]
,[value]
,CAST('<x>' + REPLACE([value], ',', '</x><x>') + '</x>' AS XML) AS Parts
FROM @mockup
)
SELECT [key]
,Parts.value(N'/x[1]', 'varchar(max)') AS Col_1
,Parts.value(N'/x[2]', 'varchar(max)') AS Col_2
,Parts.value(N'/x[3]', 'varchar(max)') AS Col_3
,Parts.value(N'/x[4]', 'varchar(max)') AS Col_4
,Parts.value(N'/x[5]', 'varchar(max)') AS Col_5
FROM Splitted;
Результат:
