Я хотел бы использовать функцию yearweek()
QueryDSL, которая поддерживается QueryDSL.Эта функция генерирует запрос select year(table1.timestamp)*100 + week(table1.timestamp) as col_0_0_ [...]
.Это, однако, не возвращает правильный результат в конце года.Я уже открыл отчет об ошибке для этой проблемы.
Я бы предпочел использовать встроенную функцию SQL yearweek()
, которая напрямую поддерживается, например, MariaDB.Есть ли способ использовать функцию SQL YEARWEEK(timestamp)
с QueryDSL?Или можно использовать пользовательскую функцию SQL с QueryDSL, например, заданную в виде строки?
Вот пример того, как две реализации возвращают разные результаты в конце года:
SELECT YEARWEEK("2018-01-01");
→ returns 201753, correct
SELECT YEAR("2018-01-01") * 100 + WEEK("2018-01-01")
→ returns 201800, incorrect