diff --git a/jOOQ/src/main/java/org/jooq/impl/DateAdd.java b/jOOQ/src/main/java/org/jooq/impl/DateAdd.java index 94e1245acc..d57242bcf8 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DateAdd.java +++ b/jOOQ/src/main/java/org/jooq/impl/DateAdd.java @@ -136,7 +136,14 @@ implements } case DUCKDB: { + if (getDataType().isDate()) + ctx.visit(K_CAST).sql('('); + ctx.visit(N_DATE_ADD).sql('(').visit(date).sql(", ").visit(K_INTERVAL).sql(' ').visit(inline(1)).sql(' ').visit(standardKeyword()).sql(" * ").visit(interval).sql(')'); + + if (getDataType().isDate()) + ctx.sql(' ').visit(K_AS).sql(' ').visit(K_DATE).sql(')'); + break; } diff --git a/jOOQ/src/main/java/org/jooq/impl/Expression.java b/jOOQ/src/main/java/org/jooq/impl/Expression.java index 513b1fb456..3b64c272cb 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Expression.java +++ b/jOOQ/src/main/java/org/jooq/impl/Expression.java @@ -790,6 +790,7 @@ implements + case DUCKDB: case POSTGRES: case YUGABYTEDB: case TRINO: {