| From: | Frank Bax <fbax(at)sympatico(dot)ca> |
|---|---|
| To: | pgsql-sql(at)postgresql(dot)org |
| Subject: | Re: plpgsql setof help |
| Date: | 2009-01-29 00:49:45 |
| Message-ID: | 4980FD29.7060502@sympatico.ca |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-sql |
Tom Lane wrote:
> "Matthew T. O'Connor" <matthew(at)zeut(dot)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').
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Andreas | 2009-01-29 11:56:55 | I need some magical advice |
| Previous Message | Tom Lane | 2009-01-29 00:29:41 | Re: plpgsql setof help |