Mysql
 sql >> Database >  >> RDS >> Mysql

Come elaborare la data 0000-00-00 nella query MySQL jdbc

Mi piace @a_horse_with_no_name La risposta di , tuttavia, se non hai il controllo sulla connessione, puoi modificare la query per restituire un null invece:

select
    ...
    case when my_date_col = '0000-00-00' then null else my_date_col end as my_date_col,
    ...

o l'opzione leggermente più concisa, ma solo MySQL:

    if(my_date_col = '0000-00-00', null, my_date_col) as my_date_col


Inoltre, si consiglia cautela nel modificare il comportamento JDBC dell'intera applicazione poiché è possibile interrompere il codice che si basa sulla restituzione di tali date, forse usano rs.getString(i) invece. Dovresti testare di regressione tutte le altre query per essere sicuro.