From: Tony Capobianco <tcapobianco@prospectiv.com>
To: pgsql-sql@postgresql.org
Subject: Determine length of numeric field
Date: Tue, 15 Feb 2011 15:48:35 -0500
Message-ID: <1297802915.1703.13.camel@tony1.localdomain> (raw)
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: tcapobianco@prospectiv.com
Subject: Re: Determine length of numeric field
In-Reply-To: <1297802915.1703.13.camel@tony1.localdomain>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox