Om du använder SQL Server 2005 eller senare kan du använda denna FÖR XML-SÖG &STYR
knep:
DECLARE @CodeNameString varchar(100)
SELECT
@CodeNameString = STUFF( (SELECT ',' + CodeName
FROM dbo.AccountCodes
ORDER BY Sort
FOR XML PATH('')),
1, 1, '')
FÖR XML PATH('')
sammanfogar i princip dina strängar till ett, långt XML-resultat (något som ,code1,code2,code3
etc.) och STUFF
sätter ett "ingenting"-tecken vid det första tecknet, t.ex. raderar det "överflödiga" första kommatecken för att ge dig det resultat du förmodligen letar efter.
UPPDATERING: OK - jag förstår kommentarerna - om din text i databastabellen redan innehåller tecken som <
, > eller
&
, sedan min nuvarande lösning kommer faktiskt att koda dessa till <
, >
och &
.
Om du har problem med den XML-kodningen - ja, du måste titta på lösningen som föreslagits av @KM som också fungerar för dessa tecken. Ett ord av varning från mig:detta tillvägagångssätt är mycket mer resurs- och bearbetningsintensiva – bara så du vet.