Tom Lane wrote:
"Matthew T. O'Connor" <matt...@zeut.net> writes:
I want the following:
select column_to_english_list( select towns from towns_table );

to return:
'town1, town2 and town3'

I wonder though if it wouldn't be better to recast the problem as an
aggregate:

select column_to_english_list(towns) from towns_table;

probably using text[] as the transition state, and having the
transition function just accumulate all the words into the array
and then the final function decides where to plaster commas and
"and"s.

You can find examples of similar aggregates in the PG archives, IIRC.


Actually; an example is in docs:

http://www.postgresql.org/docs/8.3/static/xaggr.html

use array_accum(); then reformat final text (to remove {} and change last comma to 'and').

--
Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql

Reply via email to