handling valores DATETIME 0000-00-00 00:00:00 em JDBC

Recebo uma exceção (veja abaixo) se tentar fazer

resultset.getString("add_date");

para uma conexão JDBC com um banco de dados MySQL contendo um valor DATETIME de 0000-00-00 00:00:00 (o valor quase nulo de DATETIME), mesmo que eu esteja apenas tentando obter o valor como string, não como um objeto

Eu contornei isso fazendo

SELECT CAST(add_date AS CHAR) as add_date

que funciona, mas parece bobagem ... existe uma maneira melhor de fazer isso?

Meu argumento é que eu só quero a string DATETIME, para que eu possa analisá-la eu mesmacomo .

Nota é aqui que o 0000 entra: (dehttp: //dev.mysql.com/doc/refman/5.0/en/datetime.htm)

Os valores legais DATETIME, DATE ou TIMESTAMP são convertidos no valor “zero” do tipo apropriado ('0000-00-00 00:00:00' ou '0000-00-00').

A exceção específica é esta:

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)

questionAnswers(10)

yourAnswerToTheQuestion