From: | Tony Capobianco <tcapobianco(at)prospectiv(dot)com> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: Determine length of numeric field |
Date: | 2011-02-15 21:09:49 |
Message-ID: | 1297804189.1703.15.camel@tony1.localdomain |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Pavel,
That's perfect!
Thanks.
Tony
On Tue, 2011-02-15 at 22:04 +0100, Pavel Stehule wrote:
> Hello
>
> probably you have to use a explicit cast
>
> postgres=# select length(10::numeric::text);
> length
> --------
> 2
> (1 row)
>
> Regards
>
> Pavel Stehule
>
> 2011/2/15 Tony Capobianco <tcapobianco(at)prospectiv(dot)com>:
> > 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
> >
> >
> > --
> > Sent via pgsql-sql mailing list (pgsql-sql(at)postgresql(dot)org)
> > To make changes to your subscription:
> > http://www.postgresql.org/mailpref/pgsql-sql
> >
>
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2011-02-15 21:10:16 | Re: Determine length of numeric field |
Previous Message | Peter Steinheuser | 2011-02-15 21:08:52 | Re: Determine length of numeric field |