我想从具有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,但实际上它是DB中的DATETIME,因为它具有以下格式:“07.05.2009 13:49:32”
getDate截断时间:“07.05.2009”
和getString附加“.0”到它:“07.05.2009 13:49:32.0”
当然,我可以只删除最终的.0并始终使用getString,但这是一个肮脏的解决方法。
有任何想法吗 ?我一直在寻找getDateTime方法。
干杯,
提姆
最佳答案
java.util.Date date;
Timestamp timestamp = resultSet.getTimestamp(i);
if (timestamp != null)
date = new java.util.Date(timestamp.getTime()));
然后以您喜欢的方式对其进行格式化。