This is a quick post that shows how to generate the values from a table column in a delimited list format.
If you have a table named CONTACTS that has the following columns and values:
select * from CONTACTS;

And you wanted to generate a delimited list of the names in the NAMES column like this:
Adam, Jane, John, Lisa, Mark, Mary, Noah
Or like this:
Adam | Jane | John | Lisa | Mark | Mary | Noah
You would use SQL statements like these to generate the above output – note the delimiter in each case, and also note that you can sort the output:
— comma delimiter example …
SELECT listagg(NAME, ', ') within group (order by NAME) FROM CONTACTS;
Adam, Jane, John, Lisa, Mark, Mary, Noah
— pipe delimiter example …
SELECT listagg(NAME, ' | ') within group (order by NAME) FROM CONTACTS;
Adam | Jane | John | Lisa | Mark | Mary | Noah
You can find more information about the listagg function here.
Thanks for reading. I hope you found this useful.
