Группировка по календарной неделе в jOOQ

1

Я использую это поле в GROUP BY для получения ежемесячных отчетов:

trunc(date(SOME_TIMESTAMP), DatePart.MONTH).as("month")

Также работает одинаково для ежедневных или ежегодных отчетов.

Но как я могу делать еженедельные отчеты? Нет DatePart.WEEK.

Теги:
datetime
jooq

2 ответа

1

Начиная с jOOQ 3.3 поддерживаются только стандартные "даты" для SQL. Существует проблема с ожидающим отладочной функцией # 2132 для добавления других деталей, относящихся к конкретным поставщикам. Тем временем вам, вероятно, придется прибегнуть к простой реализации SQL.

Некоторые указатели здесь:

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.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню