如何在 MYTABLE 下面写 select *,其中 date(MYDATE) 在 '2015-12-30' 和 '2015-12-30' 之间;在JOOQ
how to write below select * from MYTABLE where date(MYDATE) between '2015-12-30' and '2015-12-30'; in JOOQ
下面怎么写SQL:
select * from MYTABLE where date(MYDATE) between '2015-12-30'
and '2015-12-30';
在 JOOQ 中,MYDATE 的类型是 java.sql.timestamp。
这是 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();
一些批评:
- 你的两个日期相同,所以你的查询可能没有意义
- 您不应该 cast/convert
MYDATE
列,因为这会阻止使用索引。相反,您应该为这两个日期计算出正确的时间戳范围。
下面怎么写SQL:
select * from MYTABLE where date(MYDATE) between '2015-12-30'
and '2015-12-30';
在 JOOQ 中,MYDATE 的类型是 java.sql.timestamp。
这是 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();
一些批评:
- 你的两个日期相同,所以你的查询可能没有意义
- 您不应该 cast/convert
MYDATE
列,因为这会阻止使用索引。相反,您应该为这两个日期计算出正确的时间戳范围。