Jeśli korzystasz z SQL Server 2005 lub nowszego, możesz użyć tego DLA ŚCIEŻKI I RZECZY XML
sztuczka:
DECLARE @CodeNameString varchar(100)
SELECT
@CodeNameString = STUFF( (SELECT ',' + CodeName
FROM dbo.AccountCodes
ORDER BY Sort
FOR XML PATH('')),
1, 1, '')
FOR XML PATH('')
zasadniczo łączy twoje ciągi w jeden, długi wynik XML (coś w rodzaju ,code1,code2,code3
itp.) i STUFF
wstawia znak "nic" na pierwszy znak, np. usuwa „zbędny” pierwszy przecinek, aby uzyskać wynik, którego prawdopodobnie szukasz.
AKTUALIZACJA: OK - rozumiem komentarze - jeśli Twój tekst w tabeli bazy danych zawiera już znaki typu <
, > lub
&
, a następnie moje obecne rozwiązanie w rzeczywistości zakoduje je w <
, >
i &
.
Jeśli masz problem z tym kodowaniem XML - to tak, musisz spojrzeć na rozwiązanie proponowane przez @KM, które działa również dla tych znaków. Jedno słowo ostrzeżenia ode mnie:to podejście to o wiele więcej intensywne zasoby i przetwarzanie — tak, abyś wiedział.