Lubię @a_horse_with_no_name
, jednak jeśli nie masz kontroli nad połączeniem, możesz zmienić zapytanie, aby zwracało null
zamiast tego:
select
...
case when my_date_col = '0000-00-00' then null else my_date_col end as my_date_col,
...
lub nieco bardziej zwięzła, ale tylko w mysql, opcja:
if(my_date_col = '0000-00-00', null, my_date_col) as my_date_col
Zaleca się również ostrożność przy zmianie zachowania JDBC całej aplikacji, ponieważ możesz złamać kod, który opiera się na zwracaniu takich dat — być może używają one rs.getString(i)
zamiast. Aby się upewnić, musiałbyś przetestować regresję wszystkich innych zapytań.