diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java b/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java index 9f8003035c..95d4b64dda 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java @@ -351,12 +351,11 @@ public class DefaultBinding implements Binding { // Add precision / scale on BigDecimals int scale = ((BigDecimal) converted).scale(); - int precision = scale + ((BigDecimal) converted).precision(); + int precision = ((BigDecimal) converted).precision(); - // Firebird's max precision is 18 - if (family == FIREBIRD) { - precision = Math.min(precision, 18); - } + // [#5323] BigDecimal precision is always 1 for BigDecimals smaller than 1.0 + if (scale >= precision) + precision = scale + 1; toSQLCast(ctx, converted, dataType, 0, precision, scale); }