2014-03-13 75 views
-1

我有格式爲「Wed Feb 12 00:11:29 GMT 2014」格式的日期對象,我在數據庫中有TIMESTAMP列。我希望表中的查詢記錄大於Java程序中給出的日期。我正在使用「> =」運算符進行比較。但它沒有正確比較。我的意思是它會正確比較白天,但不是基於小時正確。SQL TIMESTAMP列和Java時間戳/日期比較

Date d= new Date("Wed Feb 12 00:11:29 GMT 2014"); 
String qry="select * from table where date_comlum >=?"; 
st.setTimestamp(1,d.getTime()); 
st.execute(qry); 
+1

爲什麼不能使用時間戳而不是日期? Timestamp timestamp = new Timestamp(new Date(「Wed Feb 12 00:11:29 GMT 2014」)。getTime()); –

+0

我也試過這個。但是相同的結果:(「stmt.setTimestamp(1,new java.sql.Timestamp(((Date)」Wed Feb 12 00:11:29 GMT 2014「)。getTime()));」 – user2902067

+0

可能重複此[如何在Hibernate中比較日期] [1] [1]:http://stackoverflow.com/questions/10073893/how-to-compare-dates-in-hibernate –

回答

0

使用下面提到的。

select * from TableA 
where startdate >= to_timestamp('12-01-2012 21:24:00', 'dd-mm-yyyy hh24:mi:ss') 
    and startdate <= to_timestamp('12-01-2012 21:25:33', 'dd-mm-yyyy hh24:mi:ss') 
+0

嘿,我已經試過這個解決方案。執行SQL提示查詢將正確執行但不通過Java程序!! – user2902067

+0

使用DateTimeFormat或SimpleDateFormat的Ja va傳遞日期對象。有關它的更多信息,請檢查http://www.tutorialspoint.com/java/java_date_time.htm –

+0

嘿,我已經嘗試過格式,但它也。我會舉例說明。 – user2902067