Me gusta @a_horse_with_no_name
, sin embargo, si no tiene control sobre la conexión, puede cambiar la consulta para devolver un null
en cambio:
select
...
case when my_date_col = '0000-00-00' then null else my_date_col end as my_date_col,
...
o la opción un poco más concisa, pero solo mysql:
if(my_date_col = '0000-00-00', null, my_date_col) as my_date_col
Además, se recomienda precaución al cambiar el comportamiento de JDBC de toda la aplicación, ya que puede romper el código que se basa en la devolución de dichas fechas; tal vez usen rs.getString(i)
en cambio. Tendría que hacer una prueba de regresión de todas las demás consultas para estar seguro.