Il primo metodo si basa sulla variabile, quindi la risposta è no per il primo.
Ma puoi facilmente usare il secondo approccio senza una variabile, devi solo modificarlo leggermente:
SELECT
SUBSTRING(
(SELECT ';' + strContract FROM tblContractMail FOR XML PATH('')),
2,
2147483647
)
Come puoi vedere, il separatore va prima l'oggetto. Di conseguenza, inizi a tagliare la stringa dal secondo carattere, omettendo il punto e virgola iniziale. L'identificatore di lunghezza non deve essere esattamente la lunghezza meno uno, puoi specificare qualsiasi numero abbastanza grande e la funzione restituirà tutto dal secondo carattere alla fine. In questo caso il massimo int
è stato specificato il valore.