小编典典

如何从结果集中获取日期

sql

我从ResultSet获取Date对象时遇到问题。在数据库中,它具有一个值(例如2014-08-01),并且从resultSet获取它之后,它具有另一个值(2014-08-31)。我知道ResultSet的getDate方法返回java.sql.Date,但是我尝试了一些解决方案,例如:

Date date=new java.util.Date(resultSet.getDate(3).getTime());

Date date=resultSet.getTimestamp();

但问题是相同的。如果我尝试,

Date date=resultSet.getDate();

它将抛出NullPointerException。

有人可以解释吗?


阅读 133

收藏
2021-03-23

共1个答案

小编典典

在您的情况下,您没有提供要检索的“日期”字段的columnName。

这应该做的工作

 while (rs.next()) {
    java.sql.Time dbSqlTime = rs.getTime("columnName");
    java.sql.Date dbSqlDate = rs.getDate("columnName");
    java.sql.Timestamp dbSqlTimestamp = rs.getTimestamp("columnName");     
    java.util.Date dbSqlTimeConverted = new java.util.Date(dbSqlTime.getTime());
    java.util.Date dbSqlDateConverted = new java.util.Date(dbSqlDate.getTime());
    System.out.println(dbSqlTimeConverted);
    System.out.println(dbSqlDateConverted);
 }

遍历ResultSetObject从一开始的日期ResultSetObjectjava.sql.Date然后将其转换为java.util.Date

2021-03-23