次の形式でタイムスタンプ値を保持するテーブルと日付列があります。
yyyy-MM-dd HH:mm:ss
次に、特定の時間間隔を返すクエリを作成したいと思います。開始日と終了日を指定します。ここに私がしたことがあります:
PreparedStatement find = (PreparedStatement) con.prepareStatement("select * from transactions where transid=? and date >= ? and date <= ?");
find.setString(1, selected.getIban());
find.setDate(2, (Date) dt1);
find.setDate(3, (Date) dt2);
ResultSet res=find.executeQuery();
while(res.next()){
....
}
デバッグ中に、dt1 と dt2 が次の形式で正しく設定されていることがわかります。
yyyy-MM-dd
この結果セットには結果がなく (null ではなく空)、while ループは実行されません。クエリで行ったように、>= と <= を使用してこれを行うことはできませんか? または、タイムスタンプをdbに保存しますが、日付でクエリを実行し、これらが異なる形式になるためです。
ありがとうございました