create new field

From: "Chris Faulkner" <chrisf(at)oramap(dot)com>
To: "Pgsql-Sql" <pgsql-sql(at)postgresql(dot)org>
Subject: create new field
Date: 2003-10-06 16:35:11
Message-ID: DGENKIKMJILAAKJGFHKFAEHPCIAA.chrisf@oramap.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hello

I would like to change the type of a column. At the moment, it is varchar(4)
but I would like it to be int. All values in the field at the moment are
actually integer.

I tried a way I had seen in the archives - it foes along the lines of adding
a column, using update, drop the old column and rename the new one.

alter table tab add column new_col int4;
update tab set new_col = "OLD_COL";
ERROR: column "new_col" is of type integer but expression is of type
characte
r
You will need to rewrite or cast the expression

OK - so I tried casting.

template1=# update tab set new_col = "OLD_COL"::int4;
ERROR: Cannot cast type character to integer

I understand this - some tables might have characters in the varchar but how
to get around it in my case ? I know that my character field has only
integers in it ?

Thanks

Chris

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Louise Cofield 2003-10-06 16:35:37 Re: Multiple table join
Previous Message Wei Weng 2003-10-06 16:29:31 suggestion needed for implementation