Re: concat strings but spaces

Поиск
Список
Период
Сортировка
От Joe Conway
Тема Re: concat strings but spaces
Дата
Msg-id 4072F3DB.6090104@joeconway.com
обсуждение исходный текст
Ответ на concat strings but spaces  (Matthias Teege <matthias@mteege.de>)
Список pgsql-general
Matthias Teege wrote:
> I try to concat values from three fields in a function like this:
>
> create or replace function
>  fconcat_name(varchar, varchar, varchar) returns varchar as '
>     declare
>     ttl alias for $1;
>     vnm alias for $2;
>     nme alias for $3;
>     begin
>      return ttl || '' '' || vnm || '' '' || nme;
>     end;
> ' language plpgsql;
>
> That works but if one of the fields is empty there are to much
> spaces in the result. Is there any alternative to a monster
> if-then construct?

Maybe like this:

create or replace function
  fconcat_name(varchar, varchar, varchar) returns varchar as '
      select replace($1 || '' '' || $2 || '' '' || $3, ''  '', '' '')
' language sql;

regression=# select fconcat_name('John','','Doe');
  fconcat_name
--------------
  John Doe
(1 row)

HTH,

Joe

В списке pgsql-general по дате отправления:

Предыдущее
От: William White
Дата:
Сообщение: Re: SQL trees and other nonsense...
Следующее
От:
Дата:
Сообщение: Re: Cursors and Transactions, why?