Determine length of numeric field

Поиск
Список
Период
Сортировка
От Tony Capobianco
Тема Determine length of numeric field
Дата
Msg-id 1297802915.1703.13.camel@tony1.localdomain
обсуждение исходный текст
Ответы Re: Determine length of numeric field  (Pavel Stehule <pavel.stehule@gmail.com>)
Re: Determine length of numeric field  (Peter Steinheuser <psteinheuser@myyearbook.com>)
Re: Determine length of numeric field  (Tom Lane <tgl@sss.pgh.pa.us>)
Список 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



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

Предыдущее
От: Achilleas Mantzios
Дата:
Сообщение: Re: SQL gotcha
Следующее
От: Pavel Stehule
Дата:
Сообщение: Re: Determine length of numeric field