在Java中从DB2检索最大日期引发错误的列类型转换异常
我有下面的SQL,它根据一些条件返回最大账单日期。账单日期在数据库中定义为日期在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(
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),您会看到什么?您是如何定义表中的日期字段的?我已更新了我的问题以反映您的问题。