我正在重写我的疑问。我的java.sql.Timestamp值类似于“2014-02-12 17:40:16.0”。我想将其与DB中的列进行比较,该列的类型为“TIMESTAMP WITH LOCAL TIMEZONE”,该列中的值将为“12-FEB-14 05.40.41.385416000 PM”之类的格式。当我将它与java程序中的确切时间戳值进行比较时,我没有得到输出。但如果我给出的时间差大于五个半小时,那么我将得到输出。
谢谢!
答案 0 :(得分:0)
首先,确保您的str
变量的格式类似于2013-03-11 12:23:34.0
然后,您可以直接使用str
构建时间戳:
stmt.setTimestamp(1, java.sql.Timestamp.valueOf(str));
答案 1 :(得分:0)
您表格中列的数据类型不应该是约会,而是约会时间。然后比较将是这样的:
java.util.Date date = yourquery();
Timestamp timestamp = new Timestamp(((Date) str).getTime());
statement = connection.statement("select * from table where datecolumn >= ?");
statement.setTimestamp(1, timestamp);
希望这有帮助!
答案 2 :(得分:0)
您可以使用setDate
中的PreparedStatement
方法。无需创建Timestamp对象。
connection.statement("select * from table where datecolumn >= ?");
statement.setDate(1, dateObject);