Hvordan konvertere et resultatsett for å komma avgrenset

Konvertering et resultat satt inn i en kommaseparert streng med SQL-spørring er nyttig når du vil vise dataene som en liste med verdier i én rad. En SQL resultatsettet inneholder resultatene fra en spørring. I en kommaseparert streng, sekvensielle elementene har et komma for å skille dem, for eksempel "appelsin, eple, banan." Noen SQL språk har innebygde funksjoner for å skape kommadelt strenger, mens i andre språk må du spesifisere output format selv.

Bruksanvisning

1 Konverter en SQL server resultat satt inn i en kommaseparert streng ved å utføre følgende spørring:

ERKLÆRER @resultset VARCHAR (500)
SELECT @resultset = CASE

WHEN @resultset IS NULL THEN CONVERT(VarChar(20), [Name])
ELSE ', ' + CONVERT(VarChar(20), [Name])

SLUTT
Fra Personer WHERE betingelse = abc;

Den "ER NULL" case er nødvendig fordi du legger til en nullverdi vil føre til en null streng.

2 Konverter en MySQL resultat satt inn i en kommaseparert streng med "GROUP_CONCAT" -funksjonen ved å kjøre følgende spørring:

SELECT a.id, GROUP_CONCAT (b.name) AS list_names
Fra idents en
INNER JOIN navn b ON (a.id = b.n_id)
GROUP BY a.id;

Den "GROUP_CONCAT" -funksjonen slår sammen resultatene sammen, atskilt med standard "," karakter.

3 Konverter en PostgreSQL resultat satt inn i en kommadelt matrise med "string_agg" -funksjonen ved å kjøre følgende spørring:

SELECT id, string_agg (navn, ',')
Fra ansatte
GROUP BY id;

Den "string_agg" -funksjonen slår sammen resultatene sammen og skiller dem med den angitte skilletegn, som er "," i eksempelet.