簡體   English   中英

SQL和Java日期比較

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM