如果我try 这样做,我会遇到一个例外(见下文)
resultset.getString("add_date");
对于包含日期时间值0000-00-00 00 00:00:00(DATETIME的准空值)的MySQL数据库的JDBC连接,尽管我只是try 以字符串而不是对象的形式获取该值.
我是通过这样做来解决这个问题的
SELECT CAST(add_date AS CHAR) as add_date
这很管用,但看起来很傻...有更好的方法吗?
我的意思是,我只需要原始的DATETIME字符串,这样我就可以自己解析它了.
note:这里是0000的来源:(从http://dev.mysql.com/doc/refman/5.0/en/datetime.html开始)
非法的日期时间、日期或时间戳
具体的例外是:
SQLException: Cannot convert value '0000-00-00 00:00:00' from column 5 to TIMESTAMP.
SQLState: S1009
VendorError: 0
java.sql.SQLException: Cannot convert value '0000-00-00 00:00:00' from column 5 to TIMESTAMP.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
at com.mysql.jdbc.ResultSetImpl.getTimestampFromString(ResultSetImpl.java:6343)
at com.mysql.jdbc.ResultSetImpl.getStringInternal(ResultSetImpl.java:5670)
at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5491)
at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5531)