Re: array_agg to array

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: array_agg to array
Дата
Msg-id CAFj8pRDg7bcUBbmNoN84igJNmYmQprw3T+izY5n6zLQUNG5b6Q@mail.gmail.com
обсуждение исходный текст
Ответ на array_agg to array  (Philipp Kraus <philipp.kraus@tu-clausthal.de>)
Список pgsql-general
Hi

2018-05-16 8:14 GMT+02:00 Philipp Kraus <philipp.kraus@tu-clausthal.de>:
Hello,

I have got a function with a reg expr to split chemical formulas e.g. H2O -> H2 O.

CREATE OR REPLACE FUNCTION daimon.text2sumformula(text) RETURNS text[] AS $$
    select array_agg(i::text) as e from ( select unnest( regexp_matches( $1, '[0-9]*[A-Z][a-z]?\d*|\((?:[^()]*(?:\(.*\))?[^()]*)+\)\d+', 'g') ) ) i;
$$ LANGUAGE SQL IMMUTABLE;

For H2O I get an array with {(H2),(O)}
How I can return the inner elements as text, I would like to get {H2,O} without round brackets?

Thanks

maybe you want array_to_string function

postgres=# select array['a','b'];
┌───────┐
│ array │
╞═══════╡
│ {a,b} │
└───────┘
(1 row)

postgres=# select array_to_string(array['a','b'],'');
┌─────────────────┐
│ array_to_string │
╞═════════════════╡
│ ab              │
└─────────────────┘
(1 row)

Regards

Pavel

Phil




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

Предыдущее
От: Philipp Kraus
Дата:
Сообщение: array_agg to array
Следующее
От: Pavel Stehule
Дата:
Сообщение: Re: Function to set up variable inside it