Eu gosto de @a_horse_with_no_name , no entanto, se você não tiver controle sobre a conexão, poderá alterar a consulta para retornar um
null
em vez de:select
...
case when my_date_col = '0000-00-00' then null else my_date_col end as my_date_col,
...
ou a opção um pouco mais concisa, mas somente mysql:
if(my_date_col = '0000-00-00', null, my_date_col) as my_date_col
Além disso, é aconselhável ter cuidado ao alterar o comportamento JDBC do aplicativo inteiro, pois você pode quebrar o código que depende de tais datas serem retornadas - talvez eles usem
rs.getString(i)
em vez de. Você teria que testar todas as outras consultas de regressão para ter certeza.