我有以下 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));
但这不会返回日期。它返回 100
、200
或 300
,这显然是不正确的。
还有其他方法可以做到这一点吗?我做错了什么吗?
最佳答案
Ash 是对的,你如何定义日期列?
该列是否有可能是时间戳?在这种情况下尝试 resultSet.getTimestamp(1))
关于java - 在 Java 中从 DB2 检索最大日期抛出错误的列类型转换异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3506357/