array_agg to array

From: Philipp Kraus <philipp(dot)kraus(at)tu-clausthal(dot)de>
To: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: array_agg to array
Date: 2018-05-16 06:14:45
Message-ID: CDD491B7-CD8D-4CA4-9F20-F62A73E1EBE7@tu-clausthal.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

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

Phil

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Pavel Stehule 2018-05-16 07:00:46 Re: array_agg to array
Previous Message tango ward 2018-05-16 05:48:44 Re: Control PhoneNumber Via SQL