JDBC 结果集获取日期丢失精度
我在 ResultSet.getDate(x) 调用中丢失了精度。基本上:
rs = ps.executeQuery();
rs.getDate("MODIFIED");
返回被截断的日期,其中修改是默认精度的 Oracle 时间戳字段。我认为我可能缺少一些JDBC调整;通常TIMESTAMP与DATE兼容,但我希望我不必重新定义整个表。
我在 ResultSet.getDate(x) 调用中丢失了精度。基本上:
rs = ps.executeQuery();
rs.getDate("MODIFIED");
返回被截断的日期,其中修改是默认精度的 Oracle 时间戳字段。我认为我可能缺少一些JDBC调整;通常TIMESTAMP与DATE兼容,但我希望我不必重新定义整个表。
ResultSet.getDate()
返回一个 ,而不是一个 .它被定义为一个永恒的日期。如果你想要一个时间戳,请使用 ResultSet.getTimestamp()
!java.sql.Date
java.util.Date
您应该使用java.sql.Timestamp而不是java.sql.Date。如有必要,您可以将其用作 java.util.Date 对象。
rs = ps.executeQuery();
Timestamp timestamp = rs.getTimestamp("MODIFIED");
希望这有帮助。