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