我在 PostgreSQL 中有一个表定义为:
CREATE TABLE ITEM_PROPERTIES
(
ITEM_ID NUMERIC(11,0),
ITEM_DIMENSIONAL_UOM VARCHAR(30),
ITEM_HEIGHT NUMERIC(38,14),
ITEM_WIDTH NUMERIC(38,14),
ITEM_LENGTH NUMERIC(38,14),
ITEM_WEIGHT_UOM VARCHAR(30),
ITEM_WEIGHT NUMERIC(38,14),
ITEM_CUBE NUMERIC(38,14)
);
项目的长度/宽度/高度存储在表中,我需要通过以下 SQL 计算立方体:
update ITEM_PROPERTIES set ITEM_CUBE = ITEM_WIDTH*ITEM_HEIGHT*ITEM_LENGTH
where ITEM_WIDTH<10000 and ITEM_HEIGHT < 10000 and ITEM_LENGTH<10000;
然后我遇到了精度溢出:
ERROR: Resulting scale overflows maximum precision
如何解决这个问题?