sql >> Base de Datos >  >> RDS >> Mysql

Cómo procesar la fecha 0000-00-00 en la consulta jdbc MySQL

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.