From: | jco(at)cornelius-olsen(dot)dk |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Postgres array cast |
Date: | 2002-12-27 01:23:43 |
Message-ID: | OFBF1B07EF.420F7961-ONC1256C9C.00077BC8@dk |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
No matter.
I found a way. Not exactly a reguar typecast, but it works for single
dimensional integer arrays (which is what I need):
drop function to_text(integer[]);
create function to_text(integer[]) returns text as '
declare
a alias for $1;
r text=\'{\';
i integer:=1;
begin
while a[i] is not null loop
if i>1 then
r:=r||\',\';
end if;
r:=r||text(a[i]);
i:=i+1;
end loop;
return r||\'}\';
end;
' language 'plpgsql'
with (iscachable);
Regards
/Jørn Cornelius Olsen
jco(at)cornelius-olsen(dot)dk
Sent by: pgsql-general-owner(at)postgresql(dot)org
27-12-2002 01:40
To: pgsql-general(at)postgresql(dot)org
cc:
Subject: [GENERAL] Postgres array cast
Hi,
I'm using Zeos Database Objects to access the database. As it turns out,
it is not able to read array fields from the database.
I was wondering whether there is any way to convert an array to another
type (e.g. text).
I've tried using
select my_array_field::text
and
select text(my_array_field)
But it can't do that. Does anyone know of another compatible type or
whether it is possible to write a type casting operator?
select version();
version
-------------------------------------------------------------
PostgreSQL 7.2.1 on i686-pc-linux-gnu, compiled by GCC 2.96
(1 row)
Regards
/Jørn Cornelius Olsen
---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?
From | Date | Subject | |
---|---|---|---|
Next Message | sector119 | 2002-12-27 06:10:59 | MOVE ABSOLUTE num FROM my_cursor |
Previous Message | jco | 2002-12-27 00:40:54 | Postgres array cast |