On Tue, 2002-05-14 at 13:56, Scott Royston wrote:
> Mac OSX, postgresql 7.2.1
>
> what's the reasoning behind not being able to cast a varchar as
> integer? this seems very weird to me:
>
> LEDEV=# create table test (foo varchar(5), bar text);
> LEDEV=# insert into test (foo, bar) values ('123', '123');
> LEDEV=# select cast(foo as integer) from test;
> ERROR: Cannot cast type 'character varying' to 'integer'
> LEDEV=# select cast(bar as integer) from test;
> bar
> -----
> 123
> (1 row)
Try this:
scratch=# select foo::text::integer from test;foo
-----123
(1 row)
Or:
scratch=# select int4(foo) from test;int4
------ 123
(1 row)
--
David Stanaway