java - JDBC ResultSet : I need a getDateTime, 但只有 getDate 和 getTimeStamp

标签 java sql oracle resultset getdate

我想使用 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/

相关文章:

php - 删除id重复的表中的重复记录

java - SonarQube java.lang.OutOfMemoryError : GC overhead limit exceeded 错误

javascript - 如何将表的列名存储在 Snowflake 的数组中

java - 有没有为程序员收集图书馆的网站?

java - 如何通过 MySQL Java Connector 设置 MySQL ANSI_QUOTES 模式?

oracle - Saiku 找不到用于 oracle 连接的 JDBC 驱动程序

c# - 使用 ODP.net 更新表时出现 ORA-01722 错误

oracle hibernate 序列生成器问题

java - 将类路径文件名转换为真实文件名

java - 字符串的二进制加法