Обсуждение: Collection
cast(COLLECT (r_id) as num) in oracle..
is their collect function in postgres plpgsql....?or any alternate for this..?
thanks in advance,
On 13/02/2015 13:13, Ramesh T wrote: > cast(COLLECT (r_id) as num) in oracle.. > > is their *collect *function in postgres plpgsql....?or any alternate > for this..? I don't use Oracle, but I think array_agg() is the closest - it aggregates the column into an array. postgres=# create table test(a integer, b text); CREATE TABLE postgres=# insert into test values (1, 'abc'); INSERT 0 1 postgres=# insert into test values (2, 'def'); INSERT 0 1 postgres=# insert into test values (2, 'ghi'); INSERT 0 1 postgres=# select a, array_agg(b) from test group by a; a | array_agg ---+----------- 1 | {abc} 2 | {def,ghi} (2 rows) Ray. -- Raymond O'Donnell :: Galway :: Ireland rod@iol.ie
i solved my problem using string_agg in tab_to_string
ex:-
select string_agg(s.Rnumber ::text,',' )AS number
On Fri, Feb 13, 2015 at 10:40 PM, Raymond O'Donnell <rod@iol.ie> wrote:
On 13/02/2015 13:13, Ramesh T wrote:
> cast(COLLECT (r_id) as num) in oracle..
>
> is their *collect *function in postgres plpgsql....?or any alternate
> for this..?
I don't use Oracle, but I think array_agg() is the closest - it
aggregates the column into an array.
postgres=# create table test(a integer, b text);
CREATE TABLE
postgres=# insert into test values (1, 'abc');
INSERT 0 1
postgres=# insert into test values (2, 'def');
INSERT 0 1
postgres=# insert into test values (2, 'ghi');
INSERT 0 1
postgres=# select a, array_agg(b) from test group by a;
a | array_agg
---+-----------
1 | {abc}
2 | {def,ghi}
(2 rows)
Ray.
--
Raymond O'Donnell :: Galway :: Ireland
rod@iol.ie