使用 SQL 将 Date Java 与数据库表中的 DateTime 列进行比较
我有两个 Date
Java 对象,它们将被分配给 sql 查询中的一些变量(因为我使用 Hibernate),以便将它们与 DateTime
类型列进行比较以获得具有指定时间范围的行,例如:
WHERE event_date >= :startDate and event_date < :finishDate
我无法直接将日期与日期时间进行比较,因此我想到了 2 种可能的解决方案:
- 尝试在比较之前使用查询将 event_date 字段转换为日期字段。
- 或者尝试将日期java对象转换为日期时间,我认为这可能是不可能的。
您建议我做什么?
I've got two Date
Java objects which will be assigned to some variables in sql query (because I use Hibernate) in order to compare them with a DateTime
type column to get rows with a specified time range, for example:
WHERE event_date >= :startDate and event_date < :finishDate
I couldn't compare date to datetime directly so I thought of 2 possible solutions:
- Try to convert event_date field using a query to date field before the comparison.
- Or try to convert date java object to dateTime which I think might not be possible..
What would you suggest me to do?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我想您遇到问题是因为您使用了
setDate
(如果我错了,请纠正我)和setDate
方法:请改用
setTimestamp
,它绑定给定Date
对象的日期和时间:ps:请务必使用 java.util.Date 对象,而不是 java.sql.Date 对象。
I guess you have the problems because you use
setDate
(correct me if I'm wrong) andsetDate
method:Use
setTimestamp
instead, which binds the date and time of a givenDate
object:p.s.: be sure to use
java.util.Date
object and NOT thejava.sql.Date
one.