diff --git a/dmt/src/main/java/com/gbase8c/dmt/db/opengauss/TableObjectImpl.java b/dmt/src/main/java/com/gbase8c/dmt/db/opengauss/TableObjectImpl.java index fd4dde91bf4d2b7b377e227f03e82b2427c51562..71e60626eec375c3ce76b5af83bb14421f8a5d27 100644 --- a/dmt/src/main/java/com/gbase8c/dmt/db/opengauss/TableObjectImpl.java +++ b/dmt/src/main/java/com/gbase8c/dmt/db/opengauss/TableObjectImpl.java @@ -138,9 +138,6 @@ public class TableObjectImpl extends MetaImpl implements TableObject { columnDto.setTarDataScale(columnDto.getDataScale()); } } - if (columnDto.getTarDataScale() != null && columnDto.getTarDataScale() < 0){ - scaleLessThan0Col.add(columnDto); - } }); if (CollectionUtils.isNotEmpty(scaleLessThan0Col)) { @@ -575,6 +572,9 @@ public class TableObjectImpl extends MetaImpl implements TableObject { if (dataType.equals("numeric")) { Integer dataPrecision = column.getTarDataPrecision(); Integer dataScale = column.getTarDataScale(); + if (!(Objects.isNull(dataScale)) && dataScale < 0){ + dataScale = 0; + } if (!(Objects.isNull(dataScale)) && !(Objects.isNull(dataPrecision)) && dataScale > dataPrecision){ dataScale = dataPrecision; diff --git "a/\350\277\201\347\247\273\350\257\264\346\230\216.md" "b/\350\277\201\347\247\273\350\257\264\346\230\216.md" index d2c908047207c9585862729f19e89b42ef616971..31818cec3a8a7bd8feaa593edd2f38142d08d4c5 100644 --- "a/\350\277\201\347\247\273\350\257\264\346\230\216.md" +++ "b/\350\277\201\347\247\273\350\257\264\346\230\216.md" @@ -11,7 +11,7 @@ | NCHAR | character | 需要拼接长度 | | VARCHAR2 | character varying | 需要拼接长度 | | NVARCHAR2 | nvarchar2 | 需要拼接长度 | -| NUMBER(p,s) | numeric(p,s)。 | 需要拼接 precision和scale | +| NUMBER(p,s) | numeric(p,s)。 | 需要拼接 precision和scale,当scale<0时,根据目标端的支持情况,scale置为0。 | | NUMBER(p,0) | 当0