Ik hou van @a_horse_with_no_name
's antwoord, maar als u geen controle heeft over de verbinding, kunt u de zoekopdracht wijzigen om een null
te retourneren in plaats daarvan:
select
...
case when my_date_col = '0000-00-00' then null else my_date_col end as my_date_col,
...
of de iets beknoptere, maar alleen mysql-optie:
if(my_date_col = '0000-00-00', null, my_date_col) as my_date_col
Ook is voorzichtigheid geboden bij het wijzigen van het JDBC-gedrag van de hele applicatie, aangezien u code kunt breken die afhankelijk is van het retourneren van dergelijke datums - misschien gebruiken ze rs.getString(i)
in plaats van. U zou alle andere zoekopdrachten moeten regressietesten om er zeker van te zijn.