De eerste methode is afhankelijk van de variabele, dus het antwoord is nee voor de eerste.
Maar u kunt gemakkelijk de tweede benadering gebruiken zonder een variabele, alleen moet u deze enigszins wijzigen:
SELECT
SUBSTRING(
(SELECT ';' + strContract FROM tblContractMail FOR XML PATH('')),
2,
2147483647
)
Zoals je kunt zien, gaat het scheidingsteken vóór het voorwerp. Als gevolg hiervan begint u de tekenreeks vanaf het tweede teken af te knippen, waarbij u de eerste puntkomma weglaat. De lengtespecificatie hoeft niet precies de lengte min één te zijn, u kunt elk redelijk groot getal opgeven en de functie retourneert alles van het tweede teken tot het einde. In dit geval is de maximale int
waarde is opgegeven.