обработка значений DATETIME 0000-00-00 00:00:00 в JDBC

Я получаю исключение (см. Ниже), если я попытаюсь сделать

resultset.getString("add_date");

для соединения JDBC с базой данных MySQL, содержащей значение DATETIME 0000-00-00 00:00:00 (квази-нулевое значение для DATETIME), хотя я просто пытаюсь получить значение как строку, а не как объект.

Я обошел это, делая

SELECT CAST(add_date AS CHAR) as add_date

который работает, но кажется глупым ... есть ли лучший способ сделать это?

Суть в том, что я просто хочу необработанную строку DATETIME, чтобы я мог ее разобрать самкак есть.

нота: вот где приходит 0000: (отhttp://dev.mysql.com/doc/refman/5.0/en/datetime.html)

Недопустимые значения DATETIME, DATE или TIMESTAMP преобразуются в «нулевое» значение соответствующего типа («0000-00-00 00:00:00» или «0000-00-00»).

Вот конкретное исключение:

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)

Ответы на вопрос(10)

Ваш ответ на вопрос