Funzione T-SQL per concatenare il risultato di una select in una stringa
Questa funzione T-SQL permette di concatenare il risultato di una select in una stringa dove, i valori dei campi, sono seprati da una virgola.
Ad esempio partendo da questa tabella:
da come risultato
Vedi anche Split di una stringa in una tabella
SQL
CREATE FUNCTION dbo.fnProvinceToString
(
@codRegione char(3)
)
RETURNS varchar(1000)
AS
BEGIN
DECLARE @result varchar(1000)
SET @result = null
-- concateno il risultato nella variabile @result
SELECT @result = IsNull(@result + ',', '') + T.[codProvincia]
FROM dbo.[TabProvince] T
WHERE T.[codRegione] = @codRegione
ORDER BY T.[codProvincia]
RETURN @result
END
#class=table-striped CodProvincia;Provincia;CodRegione BG;Bergamo;LOM BS;Brescia;LOM CO;Como;LOM CR;Cremona;LOM LC;Lecco;LOM LO;Lodi;LOM MB;Monza e Brianza;LOM MI;Milano;LOM MN;Mantova;LOM PV;Pavia;LOM SO;Sondrio;LOM VA;Varese;LOMposso usare la funzione dbo.fnProvinceToString per farmi ritornare tutte le sigle provicia in un unica stringa separati dalla virgola:
SQL
SELECT dbo.fnProvinceToString('LOM')
Text
BG,BS,CO,CR,LC,LO,MB,MI,MN,PV,SO,VA