我想使用 JDBC 从 Oracle 数据库表中获取 DATETIME 列。这是我的代码:
int columnType = rsmd.getColumnType(i);
if(columnType == Types.DATE)
{
Date aDate = rs.getDate(i);
valueToInsert = aDate.toString();
}
else if(columnType == Types.TIMESTAMP)
{
Timestamp aTimeStamp = rs.getTimestamp(i);
valueToInsert = aTimeStamp.toString();
}
else
{
valueToInsert = rs.getString(i);
}
我必须首先确定列类型。我感兴趣的字段被识别为 Types.DATE,但它实际上是数据库中的 DATETIME,因为它具有以下格式:“07.05.2009 13:49:32”
getDate 截断时间:“07.05.2009” getString 将“.0”附加到它:“07.05.2009 13:49:32.0”
当然,我可以只删除最后的 .0 并一直使用 getString,但这是一个肮脏的解决方法。
有什么想法吗?我正在寻找一个 getDateTime 方法。
最佳答案
这个答案已经过时了。继续 Basil Bourque's answer .
java.util.Date date;
Timestamp timestamp = resultSet.getTimestamp(i);
if (timestamp != null)
date = new java.util.Date(timestamp.getTime()));
然后按照你喜欢的方式格式化它。
关于java - JDBC ResultSet : I need a getDateTime, 但只有 getDate 和 getTimeStamp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21162753/