Re: Determine length of numeric field

Поиск
Список
Период
Сортировка
От Tony Capobianco
Тема Re: Determine length of numeric field
Дата
Msg-id 1297804475.1703.16.camel@tony1.localdomain
обсуждение исходный текст
Ответ на Re: Determine length of numeric field  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-sql
Tom,
That's a frighteningly easy solution.
Thanks.
Tony

On Tue, 2011-02-15 at 16:10 -0500, Tom Lane wrote:
> Tony Capobianco <tcapobianco@prospectiv.com> writes:
> > 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);
> 
> That seems like a pretty bizarre operation to apply to a number.  Why
> not "where sourceid > 99999"?  Or maybe "where abs(sourceid) > 99999"
> would be better.
> 
>             regards, tom lane
> 




В списке pgsql-sql по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Determine length of numeric field
Следующее
От: Mark Stosberg
Дата:
Сообщение: recommended data model for a search?