从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界。

com.microsoft.sqlserver.jdbc.SQLServerException: 从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界。
 at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source)
 at com.microsoft.sqlserver.jdbc.IOBuffer.processPackets(Unknown Source)
 at com.microsoft.sqlserver.jdbc.SQLServerStatement.buildNextRowset(Unknown Source)
 at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(Unknown Source)
 at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.getPrepExecResponse(Unknown Source)
 at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(Unknown Source)
 at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PreparedStatementExecutionRequest.executeStatement(Unknown Source)
 at com.microsoft.sqlserver.jdbc.CancelableRequest.execute(Unknown Source)
 at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeRequest(Unknown Source)
 at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(Unknown Source)

找了很久,发现是数据库的两个日期有问题:

select * from t_apply_item_instance aii where  aii.UPDATE_TIME >= '2012-12-01 00:00:00' AND aii.UPDATE_TIME < '2012-13-01 00:00:00'

修改,注意判断跨年的问题。

猜你喜欢

转载自zhoujingxian.iteye.com/blog/1741557