Re: Unable To Change Data Type

From: Bill Moran <wmoran(at)potentialtech(dot)com>
To: Carlos Mennens <carlos(dot)mennens(at)gmail(dot)com>
Cc: PostgreSQL <pgsql-general(at)postgresql(dot)org>
Subject: Re: Unable To Change Data Type
Date: 2011-06-10 17:57:42
Message-ID: 20110610135742.8760a6a5.wmoran@potentialtech.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

In response to Carlos Mennens <carlos(dot)mennens(at)gmail(dot)com>:

> For some reason I'm unable to change a column's TYPE from VARCHAR(20)
> to INTERGER or SMALLINT. I'm required to note the manufactures color
> code (value = 198) in the table data but keep getting this error and I
> don't understand why:
>
> The error I'm recieving is:
>
> ERROR: column "color" cannot be cast to type integer
>
> The table is defined as such:
>
> pearl=# \d

> Table "public.reference"
> Column | Type | Modifiers
> --------+-----------------------+--------------------------------------------------------
> id | integer | not null default
> nextval('reference_seq_id'::regclass)
> type | character varying(20) | not null
> size | smallint | not null
> color | character varying(20) | not null
> serial | integer |
> Indexes:
> "reference_pkey" PRIMARY KEY, btree (id)
> "reference_serial_key" UNIQUE, btree (serial)
>
> The data in the database appears as such:
>
> pearl=# SELECT id, color FROM reference ORDER BY id;
> id | color
> ----+-------
> 1 | 198
> 2 | 198
> 3 | 198
> 4 | 198
> 5 | 198
> 6 | 198
> (6 rows)
>
> Is this not possible to change the data type from VARCHAR to INTERGER
> or something numeric since only manufacturer color codes will be
> stored?

I don't think ALTER COLUMN TYPE will implicitly convert from varchar
to INT.

Try:
ALTER TABLE reference
ALTER COLUMN color
TYPE INT
USING CAST(color AS INT);

--
Bill Moran
http://www.potentialtech.com
http://people.collaborativefusion.com/~wmoran/

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Andreas Kretschmer 2011-06-10 18:01:00 Re: Unable To Change Data Type
Previous Message Carlos Mennens 2011-06-10 17:47:26 Unable To Change Data Type