java - 如何比较两种不同格式(时间戳和java.util.date)的sql查询中的时间?

标签 java jdbc

我的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/

相关文章:

java - 如何在生产中安全地更改 session cookie 域或名称?

java - JDBC 4 的 java.sql.Clob.free() 方法和向后兼容性

java - 如何记录sql异常?

java - 我还缺少什么?我收到错误 : No suitable driver found for jdbc

java - 将另一个方法的计算值存储在数组中

java - 在多屏幕设置中的 Activity 屏幕或监视器上打开 JavaFX 应用程序

java - 错误。无法创建请求的服务[org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

java - 实体表错误 13037 : Illegal DOUBLE PREC constant

java - 从 MusicBrainz Web 服务检索元数据

java - 如何在两个不同的字段上使用 Collections.sort()?