我有一个包含剪辑列表的数据库。每个剪辑都有一个startTime和一个endTime,两个时间戳都带有时区。我要做的是获取落在时间范围内(开始 - 结束)的所有剪辑。我在java程序中有两个Date类型的对象,我从hibernate创建一个SQL查询:
select * from clips where (start_time IN(?,?) or end_time IN(?,?)) and clips.mediaid=? order by clips.id ASC
我使用SQLQuery的setDate(int arg0,Date arg1)方法设置Date参数但是当我执行时,我只在日期范围(开始 - 结束)至少有一整天的差异时得到结果。这就好像结果sql查询完全忽略了时差并只比较了日期(年,月,日)。
答案 0 :(得分:0)
我认为应该是
(start_time >= ? and end_time <= ?)