| From: | Jean Louis <bugs(at)gnu(dot)support> | 
|---|---|
| To: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> | 
| Cc: | pgsql-general <pgsql-general(at)lists(dot)postgresql(dot)org> | 
| Subject: | Re: how to concat/concat_ws all fields without braces | 
| Date: | 2019-06-15 14:20:38 | 
| Message-ID: | 20190615142038.GJ10179@protected.rcdrun.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-general | 
Dear Pavel,
Ahoj.
* Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> [2019-06-15 11:37]:
> you can write own function that will do what you want
> 
> create or replace function rec_concat_fields(record, text)
> returns text as $$
>   begin
>     return string_agg(value, '|') from json_each_text(row_to_json($1));
>   end
> $$ language plpgsql;
> 
> postgres=# select rec_concat_fields(foo.*, '*') from foo;
> ┌───────────────────┐
> │ rec_concat_fields │
> ╞═══════════════════╡
> │ ahoj|svete        │
> └───────────────────┘
> (1 row)
> 
I have tried that one, not working quite;
create or replace function concat_fields(record, text)
returns text as $$
  begin
    return string_agg(value, ' ') from json_each_text(row_to_json($1));
  end
$$ language plpgsql;
rcdbusiness$# ERROR:  PL/pgSQL functions cannot accept type record
Jean
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Jean Louis | 2019-06-15 14:22:00 | Re: how to concat/concat_ws all fields without braces | 
| Previous Message | Adrian Klaver | 2019-06-15 13:44:55 | Re: Copy Bulk Ignore Duplicated |