La première méthode repose sur la variable, donc la réponse est non pour le premier.
Mais vous pouvez facilement utiliser la deuxième approche sans variable, il vous suffit de la modifier légèrement :
SELECT
SUBSTRING(
(SELECT ';' + strContract FROM tblContractMail FOR XML PATH('')),
2,
2147483647
)
Comme vous pouvez le voir, le séparateur va avant l'article. Par conséquent, vous commencez à couper la chaîne à partir du deuxième caractère, en omettant le premier point-virgule. Le spécificateur de longueur n'a pas besoin d'être précisément la longueur moins un, vous pouvez spécifier n'importe quel nombre assez grand, et la fonction renverra tout du deuxième caractère à la fin. Dans ce cas, le maximum int
valeur a été spécifiée.