Ich mag @a_horse_with_no_name
's Antwort, aber wenn Sie keine Kontrolle über die Verbindung haben, können Sie die Abfrage so ändern, dass sie einen null
zurückgibt stattdessen:
select
...
case when my_date_col = '0000-00-00' then null else my_date_col end as my_date_col,
...
oder die etwas kürzere, aber nur mysql-Option:
if(my_date_col = '0000-00-00', null, my_date_col) as my_date_col
Außerdem ist Vorsicht geboten, wenn Sie das JDBC-Verhalten der gesamten Anwendung ändern, da Sie Code beschädigen könnten, der auf der Rückgabe solcher Daten beruht - vielleicht verwenden sie rs.getString(i)
stattdessen. Um sicherzugehen, müssten Sie alle anderen Abfragen einem Regressionstest unterziehen.