Che*_*tan 5 mysql sql date between jooq
我在我的项目中使用jooq,我需要在两个日期之间查询一些数据.
生成正确数据的sql查询是
select created_on from queue_token where created_on between '2015-07-16' and '2015-07-17' and token_queue_id=1;
Run Code Online (Sandbox Code Playgroud)
我写的等效jooq查询在下面,但没有给出所需的结果
create.select().from(com.database.tables.QueueToken.QUEUE_TOKEN)
.where(com.database.tables.QueueToken.QUEUE_TOKEN.TOKEN_QUEUE_ID.equal(1))
.and(com.database.tables.QueueToken.QUEUE_TOKEN.CREATED_ON.between(new Timestamp(fromDate.getTime())).and(new Timestamp(toDate.getTime())))
.fetch();
Run Code Online (Sandbox Code Playgroud)
jooq查询生成结果,但只生成与fromDate完全匹配的记录.所以基本上它不适用于日期范围.
有人可以帮忙吗?
我认为问题在于传递时间戳或日期和时间(我不太了解java)。因此,您会收到“2015-07-16 12:55:00”或“1436187300”,而不是发送“2015-07-16”。
尝试调试第一个值new Timestamp(fromDate.getTime()),如果我是对的,请尝试将其转换为没有时间的简单日期。
要获得正确的日期值而不需要时间,您可以使用:
Java 8 包 java.time LocalDate https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html
或 lib Joda 时间http://joda-time.sf.net/
| 归档时间: |
|
| 查看次数: |
2117 次 |
| 最近记录: |