Jag gillar @a_horse_with_no_name
s svar, men om du inte har kontroll över anslutningen kan du ändra frågan för att returnera en null
istället:
select
...
case when my_date_col = '0000-00-00' then null else my_date_col end as my_date_col,
...
eller det lite mer kortfattade, men bara mysql, alternativet:
if(my_date_col = '0000-00-00', null, my_date_col) as my_date_col
Var också försiktig när du ändrar hela programmets JDBC-beteende eftersom du kan bryta kod som är beroende av att sådana datum returneras - kanske använder de rs.getString(i)
istället. Du måste regressionstesta alla andra frågor för att vara säker.