如何写下面选择*来自MYTABLE,其中'2015-12-30'和'2015-12-30'之间的日期(MYDATE);在JOOQ

时间:2015-12-31 09:49:08

标签: java mysql jooq

如何写下面的SQL:

select * from MYTABLE where date(MYDATE) between '2015-12-30' 
and '2015-12-30'; 
在JOOQ中

,其中MYDATE是java.sql.timestamp的类型。

1 个答案:

答案 0 :(得分:1)

这是1:1的翻译:

DSL.using(configuration)
   .select()
   .from(MYTABLE)
   .where(DSL.date(MYTABLE.MYDATE).between(Date.valueOf("2015-12-30"))
                                  .and(Date.valueOf("2015-12-30")))
   .fetch();

一些批评:

  • 您的两个日期相同,因此您的查询可能没有意义
  • 您不应该转换/转换MYDATE列,因为这会阻止使用索引。相反,您应该计算出两个日期的正确时间戳范围。