Pierwsza metoda opiera się na zmiennej, więc odpowiedź brzmi nie dla pierwszego.
Ale możesz z łatwością użyć drugiego podejścia bez zmiennej, wystarczy ją nieco zmodyfikować:
SELECT
SUBSTRING(
(SELECT ';' + strContract FROM tblContractMail FOR XML PATH('')),
2,
2147483647
)
Jak widać, separator jest umieszczony przed przedmiot. W rezultacie zaczynasz odcinać ciąg od drugiego znaku, pomijając wiodący średnik. Specyfikator długości nie musi być dokładnie długością minus jeden, możesz podać dowolną dość dużą liczbę, a funkcja zwróci wszystko od drugiego znaku do końca. W tym przypadku maksymalny int
określono wartość.