我想使用 JDBC 从 Oracle DB 表中获取 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 方法。
这个答案已经过时了。继续巴兹尔·布尔克的回答 https://stackoverflow.com/a/21174634/1639556.
java.util.Date date;
Timestamp timestamp = resultSet.getTimestamp(i);
if (timestamp != null)
date = new java.util.Date(timestamp.getTime()));
然后按照您喜欢的方式格式化它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)