我有一張桌子和一個日期列,其中i保持時間戳值以下格式:如何在java中查詢數據庫中的日期間隔?
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
此ResultSet中有任何結果(不爲空,但空) while循環不執行。我不能使用> =和< =像我在查詢中那樣執行此操作嗎?或者是因爲我在db中存儲時間戳,但用日期查詢,並且這些格式不同。
謝謝
首先對數據庫運行你的查詢,看它是否真的獲取了一些結果。 – NINCOMPOOP
嘗試使用util.date中的sql.Date對象的即時版本 –
'dt1'必須小於或等於'dt2',這是您的數據嗎? – sp00m