java - 在 Java 中从 DB2 检索最大日期抛出错误的列类型转换异常

标签 java sql jdbc db2 type-conversion

我有以下 SQL,它根据某些条件返回最大 BILL_DATE。 BILL_DATE 在数据库中定义为 DATE。

SELECT MAX(BILL_DATE)
FROM BILLTABLE
WHERE col1 = ? and
      col2 = ?

但是当我从结果集中读取值时。

bill.setBillDate(resultSet.getDate(1));

抛出异常:

Invalid data conversion: Wrong result column type for requested conversion. ERRORCODE=-4461, SQLSTATE=42815

我也尝试过

bill.setBillDate(resultSet.getString(1));

但这不会返回日期。它返回 100200300,这显然是不正确的。

还有其他方法可以做到这一点吗?我做错了什么吗?

最佳答案

Ash 是对的,你如何定义日期列?

该列是否有可能是时间戳?在这种情况下尝试 resultSet.getTimestamp(1))

关于java - 在 Java 中从 DB2 检索最大日期抛出错误的列类型转换异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3506357/

相关文章:

使用 Socks 的 Java JDBC 连接

java - Android 模拟器错误,控制台错误日志重复错误

java - Android - 从更改默认短信应用程序对话框中获取结果

java - 为什么我在不同的机器上使用 PBKDF2 得到不同的结果?

java - 当页面没有元素时返回空的 "content"数组

MySQL ON DUPLICATE KEY UPDATE 不更新但插入

mysql - 将变量设置为等于精确的列和行

sql - 使用 sequelize 和 node.js 生成将忽略 where 子句的 SQL 查询

java - 一个 JDBC 连接中可以有两个并发事务吗?

java - 我的 Oracle SQL 语句有什么问题?我不断收到“此处不允许列”错误?