我在GROUP BY中使用此字段来获取月度报告:
trunc(date(SOME_TIMESTAMP), DatePart.MONTH).as("month")
对于每日或年度报告也是如此。
但是我该如何做周报呢?没有DatePart.WEEK
。
发布于 2018-04-26 12:37:37
您可以尝试使用普通SQL,如下所示:
public static Field<Integer> yearWeek(Field<Timestamp> field, int mode) {
return DSL.field("yearweek({0}, {1})", SQLDataType.INTEGER,
field, DSL.inline(mode));
}
像这样使用它:groupBy(yearWeek(SOME_TIMESTAMP_FIELD, 1))
。
模式是记录到mysql的yearweek。
发布于 2014-04-29 21:54:14
从SQL3.3开始,只支持jOOQ标准的“日期部分”。有一个用于添加其他特定于供应商的日期部分的pending feature request issue #2132。同时,您可能需要求助于普通的SQL实现。
这里有一些建议:
https://stackoverflow.com/questions/23335674
复制相似问题