我的sql查询是由这个java代码生成的:
public boolean generateFileForTable(java.util.Date lastSyncTime, NGMasterSyncData ngMasterSyncData, String fileName){
StringBuffer query = new StringBuffer(200);
query.append("Select ");
query.append(ngMasterSyncData.getOperationModeCol());
query.append(", ");
query.append(ngMasterSyncData.getColumnList());
query.append(" FROM ");
query.append(ngMasterSyncData.getTableName());
query.append(" WHERE ");
query.append(ngMasterSyncData.getLastModifiedCol());
query.append(" > ? ");
getLastModifiedCol()
中的值采用时间戳格式 (07-JUN-12 11.30.00.000000000 PM)
并在准备好的语句中? ,我们正在将收到的时间 (11-06-2012 11-59-50) 转换为 java .util.sql
所以基本上我想将时间戳格式的时间与我在参数中收到的时间进行比较(最后同步时间-11-06-2012 11-59-50)
。
我应该如何进行?我应该在准备好的陈述中写些什么?
最佳答案
好吧,kapil,在 java.sql.Date 中,您只能比较无时间的日期,但正如我们看到的,您的日期中有时间,因此您应该使用 java.sql.Timestamp。整个工作方案如下。
PreparedStatement prest = con.prepareStatement(query);
prest.setTimestamp(1, new java.sql.Timestamp(lastSyncTime.getTime()));
关于java - 如何比较两种不同格式(时间戳和java.util.date)的sql查询中的时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11009373/