Hvis du er på SQL Server 2005 eller nyere, kan du bruge denne TIL XML-STI &TING
trick:
DECLARE @CodeNameString varchar(100)
SELECT
@CodeNameString = STUFF( (SELECT ',' + CodeName
FROM dbo.AccountCodes
ORDER BY Sort
FOR XML PATH('')),
1, 1, '')
FOR XML PATH('')
kæder dybest set dine strenge sammen til ét langt XML-resultat (noget som ,code1,code2,code3
osv.) og STUFF
sætter et "intet"-tegn ved det første tegn, f.eks. sletter det "overflødige" første komma, for at give dig det resultat, du sandsynligvis leder efter.
OPDATERING: OK - jeg forstår kommentarerne - hvis din tekst i databasetabellen allerede indeholder tegn som <
, > eller
&
, derefter min nuværende løsning vil faktisk kode dem til <
, >
, og &
.
Hvis du har et problem med den XML-kodning - så ja, du skal se på løsningen foreslået af @KM, som også fungerer for disse tegn. Et advarselsord fra mig:denne tilgang er meget mere ressource- og bearbejdningsintensiv - bare så du ved det.