Hello!
Like others said you can't cast varchar to int directly.
Make your life easier! :) You must write a function like
this:
create function "int4"(character varying) returns int4 as ' DECLARE input alias for $1; BEGIN
return (input::text::int4); END;
' language 'plpgsql';
When you try the cast varchar_field::integer or varchar_field::int4 Postgres call
the function named int4 and takes varchar type parameter.
DAQ