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.