Wenn Sie SQL Server 2005 oder höher verwenden, können Sie diesen FOR XML PATH & STUFF verwenden Trick:
DECLARE @CodeNameString varchar(100)
SELECT
@CodeNameString = STUFF( (SELECT ',' + CodeName
FROM dbo.AccountCodes
ORDER BY Sort
FOR XML PATH('')),
1, 1, '')
Der FOR XML PATH('') verkettet Ihre Strings im Grunde zu einem langen XML-Ergebnis (etwas wie ,code1,code2,code3 etc.) und STUFF setzt ein "Nichts"-Zeichen an das erste Zeichen, z.B. löscht das "überflüssige" erste Komma, um Ihnen das Ergebnis zu liefern, nach dem Sie wahrscheinlich suchen.
AKTUALISIERUNG: OK - ich verstehe die Kommentare - wenn Ihr Text in der Datenbanktabelle bereits Zeichen wie < enthält , > oder & , dann meine aktuelle Lösung wird diese tatsächlich in < kodieren , > , und & .
Wenn Sie ein Problem mit dieser XML-Codierung haben, müssen Sie sich die von @KM vorgeschlagene Lösung ansehen, die auch für diese Zeichen funktioniert. Ein Wort der Warnung von mir:dieser Ansatz ist viel mehr ressourcen- und verarbeitungsintensiv - nur damit Sie es wissen.