我在GROUP BY中使用此字段来获取月度报告:
trunc(date(SOME_TIMESTAMP), DatePart.MONTH).as("month")
每日或每年报告的工作方式也相同。
但我怎样才能做周报?没有DatePart.WEEK
。
答案 0 :(得分:1)
从jOOQ 3.3起,只有SQL标准"日期部分"得到支持。有一个pending feature request issue #2132用于添加其他特定于供应商的日期部分。与此同时,您可能需要采用简单的SQL实现。
这里有一些指示:
答案 1 :(得分:0)
您可以尝试使用纯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。