Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como processar a data 0000-00-00 na consulta jdbc MySQL


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.