我正在使用 3.5 jooq 版本
我知道 jooq 不支持 DATE_FORMAT 函数但是有什么替代方法
这是我想用 JOOQ 创建的查询
SELECT DATE_FORMAT(`date_create`, '%d/%m/%Y') AS date_create FROM users
GROUP BY DATE_FORMAT(`date_create`, '%d/%m/%Y')
最佳答案
每当您需要开箱即用的 jOOQ 不支持的特定于供应商的 SQL 功能时,plain SQL API 将是您的 friend 。编写一个实用程序,如下所示:
public static Field<String> dateFormat(Field<Date> field, String format) {
return DSL.field("date_format({0}, {1})", SQLDataType.VARCHAR,
field, DSL.inline(format));
}
然后,您可以像使用任何其他 jOOQ 提供的函数一样使用它:
DSL.using(configuration)
.select(dateFormat(USERS.DATE_CREATE, "%d/%m/%Y").as("date_create"))
.from(USERS)
.groupBy(dateFormat(USERS.DATE_CREATE, "%d/%m/%Y"))
.fetch();
关于java - Jooq 中的 SQL DATE_FORMAT 替代方案,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45392048/