1

クリップのリストを含むデータベースがあります。各クリップには、startTime と endTime の両方のタイムスタンプとタイムゾーンがあります。私がやろうとしているのは、時間範囲 ( start - end ) 内にあるすべてのクリップを取得することです。Java プログラムに Date 型の 2 つのオブジェクトがあり、 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 パラメータを設定しましたが、実行すると、日付範囲 ( start - end ) に少なくとも 1 日の差がある場合にのみ結果が得られます。結果のSQLクエリが時差を完全に無視し、日付(年、月、日)のみを比較するかのようです。

4

1 に答える 1

0

そうあるべきだと思う

(start_time >= ? and end_time <= ?) 
于 2012-12-20T15:02:15.793 に答える