"terry" <94487...@qq.com> writes: > TEST=# CREATE TABLE B (C NUMERIC(8,3)); > CREATE TABLE > TEST=# INSERT INTO B VALUES (12345.678); > INSERT 0 1 > TEST=# SELECT * FROM B; > c > ----------- > 12345.678 > (1 row)
> TEST=# ALTER TABLE B ALTER COLUMN C TYPE NUMERIC(4,0); > ERROR: numeric field overflow > DETAIL: A field with precision 4, scale 0 must round to an absolute value > less than 10^4. > TEST=# ALTER TABLE B ALTER COLUMN C TYPE NUMERIC(5,0); > ALTER TABLE > /* scale lost */ > TEST=# SELECT * FROM B; > c > ------- > 12346 > (1 row) This is exactly the intended behavior. We're not really interested in Oracle's inability to handle the case. regards, tom lane -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs