diff --git a/core/src/main/java/com/alibaba/druid/sql/visitor/SQLASTOutputVisitor.java b/core/src/main/java/com/alibaba/druid/sql/visitor/SQLASTOutputVisitor.java index 4ce84bf874..7f8ef40219 100644 --- a/core/src/main/java/com/alibaba/druid/sql/visitor/SQLASTOutputVisitor.java +++ b/core/src/main/java/com/alibaba/druid/sql/visitor/SQLASTOutputVisitor.java @@ -3144,7 +3144,7 @@ public void printParameter(Object param) { } if (param instanceof Double) { - param = new BigDecimal((double) param); + param = BigDecimal.valueOf((double) param); } if (param instanceof BigDecimal) { // 不需要科学计数法输出 print0(((BigDecimal) param).toPlainString()); diff --git a/core/src/main/java/com/alibaba/druid/sql/visitor/SQLEvalVisitorUtils.java b/core/src/main/java/com/alibaba/druid/sql/visitor/SQLEvalVisitorUtils.java index bcadfdbbbb..6bfa0e9e03 100644 --- a/core/src/main/java/com/alibaba/druid/sql/visitor/SQLEvalVisitorUtils.java +++ b/core/src/main/java/com/alibaba/druid/sql/visitor/SQLEvalVisitorUtils.java @@ -1515,11 +1515,11 @@ public static BigDecimal castToDecimal(Object val) { } if (val instanceof Float) { - return new BigDecimal((Float) val); + return BigDecimal.valueOf((Float) val); } if (val instanceof Double) { - return new BigDecimal((Double) val); + return BigDecimal.valueOf((Double) val); } return BigDecimal.valueOf(((Number) val).longValue());