[英]SQL and Java Date Comparison
我正在重寫我的懷疑。 我有一個java.sql.Timestamp值,例如“ 2014-02-12 17:40:16.0”。 我想將其與DB中“ TIMESTAMP WITH LOCAL TIMEZONE”類型的列進行比較,並且該列中的值將采用“ 12-FEB-14 05.40.41.385416000 PM”這樣的格式。 當我將其與Java程序中的確切時間戳值進行比較時,沒有得到輸出。 但是,如果我給出的時差大於五個半小時,那么我將獲得輸出。
謝謝!!
首先,請確保您的str
變量采用類似2013-03-11 12:23:34.0
格式
然后,您可以直接使用str
構造時間戳:
stmt.setTimestamp(1, java.sql.Timestamp.valueOf(str));
您表中列的數據類型不應該是日期,而是日期時間。 那么比較將類似於:
java.util.Date date = yourquery();
Timestamp timestamp = new Timestamp(((Date) str).getTime());
statement = connection.statement("select * from table where datecolumn >= ?");
statement.setTimestamp(1, timestamp);
希望這可以幫助!
您可以使用PreparedStatement
setDate
方法。 無需創建Timestamp對象。
connection.statement("select * from table where datecolumn >= ?");
statement.setDate(1, dateObject);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.