Re: Postgres array cast

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?

http://www.postgresql.org/users-lounge/docs/faq.html

Browse pgsql-general by date

  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