From: | Tony Capobianco <tcapobianco(at)prospectiv(dot)com> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | Determine length of numeric field |
Date: | 2011-02-15 20:48:35 |
Message-ID: | 1297802915.1703.13.camel@tony1.localdomain |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
I'm altering datatypes in several tables from numeric to integer. In
doing so, I get the following error:
dw=# \d uniq_hits
Table "support.uniq_hits"
Column | Type | Modifiers
------------+---------+-----------
sourceid | numeric |
hitdate | date |
total | numeric |
hitdate_id | integer |
Indexes:
"uniq_hits_hitdateid_idx" btree (hitdate_id), tablespace
"support_idx"
Tablespace: "support"
esave_dw=# alter table uniq_hits alter sourceid type int;
ERROR: integer out of range
Sourceid should not be more than 5 digits long. I'm able to perform
this query on Oracle and would like something similar on postgres 8.4:
delete from uniq_hits where sourceid in (select sourceid from uniq_hits
where length(sourceid) > 5);
I haven't had much luck with the length or char_length functions on
postgres.
Thanks.
Tony
From | Date | Subject | |
---|---|---|---|
Next Message | Pavel Stehule | 2011-02-15 21:04:44 | Re: Determine length of numeric field |
Previous Message | Achilleas Mantzios | 2011-02-15 07:41:11 | Re: SQL gotcha |