我正在使用 dblink 将数据从 oracle 表移动到 Postgres,并且在 Postgres 的新表结构中,我已经为 Oracle 中没有精度的数字列添加了精度,现在在移动数据时我能够截断十进制值以匹配比例,但是,如果它与精度不匹配,我正在努力寻找一种方法来截断小数点之前的值。
调整比例我使用以下命令:
insert into Postgres.test
select id, width::numeric(7,3)
from oracle.test;
因此,在这种情况下,如果小数点后的值大于 3 位,它会将其截断为 3 位,但是,如果精度(小数点前)大于 4,我希望它也应该被截断为4 位数,我不介意这样做会改变几行的值。