在Java中从DB2检索最大日期引发错误的列类型转换异常

在Java中从DB2检索最大日期引发错误的列类型转换异常,java,sql,jdbc,db2,type-conversion,Java,Sql,Jdbc,Db2,Type Conversion,我有下面的SQL,它根据一些条件返回最大账单日期。账单日期在数据库中定义为日期 SELECT MAX(BILL_DATE) FROM BILLTABLE WHERE col1 = ? and col2 = ? 但是当我从结果集中读取值时 bill.setBillDate(resultSet.getDate(1)); 将引发异常: 无效的数据转换:请求的转换的结果列类型错误。ERRORCODE=-4461,SQLSTATE=42815 我也试过了 bill.setBillDate(

我有下面的SQL,它根据一些条件返回最大账单日期。账单日期在数据库中定义为日期

SELECT MAX(BILL_DATE)
FROM BILLTABLE
WHERE col1 = ? and
      col2 = ?
但是当我从结果集中读取值时

bill.setBillDate(resultSet.getDate(1));
将引发异常:

无效的数据转换:请求的转换的结果列类型错误。ERRORCODE=-4461,SQLSTATE=42815 我也试过了

bill.setBillDate(resultSet.getString(1));
但这并没有返回日期。它返回明显不正确的
100
200
300


还有别的办法吗?我做错什么了吗?

如果Ash是对的,您如何定义日期列


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

Ash是正确的,您如何定义日期列


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

我在读取账单日期的函数中打开了两个resultSet。我将代码更改为以下代码,它运行良好

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

我在函数中打开了两个结果集,我正在读取BILL_日期。我将代码更改为以下代码,它运行良好

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

如果打印出getString(1),您会看到什么?您如何定义表中的日期字段?我已更新了反映您问题的问题。如果打印getString(1),您会看到什么?您是如何定义表中的日期字段的?我已更新了我的问题以反映您的问题。