A solução:
Sendo um pouco tendencioso para o banco de dados Oracle, o jOOQ implementa a adição / subtração de intervalos de dias simplesmente usando:
// Java
DSL.currentTimestamp().sub(1);
A renderização acima:
-- Oracle
sysdate - 1
-- MySQL
date_add(current_timestamp(), interval -1 day)
Claro, você também pode acessar o
date_add()
função diretamente, se você preferir que:// Java
DSL.dateAdd(DSL.currentTimestamp(), -1);
Alguma documentação:
- A seção do manual sobre aritmética de data e hora
- A seção do manual sobre tipos de dados de intervalo
Field.add()
JavadocDSL.dateAdd()
Javadoc