Thomas Darimont
Erfahrenes Mitglied
Hallo,
hier mal ein Beispiel wie man in SQL Server mittels CTE einen String der eine Kommaseparierte Liste enthält in Zeilen umwandeln kann.
Ausgabe:
Hier noch ein weiteres Beispiel zu der Arbeit mit CTE's im SQL Server:
http://www.tutorials.de/relationale...-spass-mit-rekursiven-ctes-im-sql-server.html
Gruß Tom
hier mal ein Beispiel wie man in SQL Server mittels CTE einen String der eine Kommaseparierte Liste enthält in Zeilen umwandeln kann.
SQL:
WITH initial_data AS
(SELECT
-1 AS sep_idx,
'' AS item ,
'1,20,333,4444,55' AS data,
',' AS separator
) ,
vals(sep_index,item, data, separator) AS
(SELECT sep_idx,
CAST(item AS VARCHAR(255)),
CAST(data+separator AS VARCHAR(4000)),
separator
FROM initial_data
UNION ALL
SELECT charindex(separator,data,0) ,
CAST(LEFT(data,charindex(separator,data,1)-1) AS VARCHAR(255)) ,
CAST(RIGHT(data,LEN(data)-charindex(separator,data,1)) AS VARCHAR(4000)) ,
separator
FROM vals
WHERE charindex(separator,data,0) > 0
)
SELECT item FROM vals WHERE sep_index >= 0 OPTION (MAXRECURSION 0)
Ausgabe:
Code:
item
------
1
20
333
4444
55
Hier noch ein weiteres Beispiel zu der Arbeit mit CTE's im SQL Server:
http://www.tutorials.de/relationale...-spass-mit-rekursiven-ctes-im-sql-server.html
Gruß Tom