JOOQ: получить разницу между двумя датами в минутах - PullRequest
0 голосов
/ 30 мая 2018

Мне нужно найти все записи с now() - date > 5 min полем даты

пробовал что-то вроде

.and(DSL.timestampDiff(now, TABLE_HISTORY.DATE).gt(DayToSecond.valueOf((1/86400).toDouble())))

, но ofc не удалось

1 Ответ

0 голосов
/ 30 мая 2018

Всегда лучше переместить столбец с одной стороны уравнения и константы с другой стороны.Таким образом, индекс, размещенный в столбце, может применяться.Следовательно:

date < now() - interval '5 minutes'

Или в jOOQ

TABLE_HISTORY.DATE.lt(now.sub(new DayToSecond(0, 0, 5)))

Или с использованием перегрузки оператора Котлина:

TABLE_HISTORY.DATE.lt(now - new DayToSecond(0, 0, 5))
...