Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да обработя дата 0000-00-00 в jdbc MySQL заявка

Харесвам @a_horse_with_no_name Отговорът на 's, но ако нямате контрол върху връзката, можете да промените заявката, за да върне null вместо това:

select
    ...
    case when my_date_col = '0000-00-00' then null else my_date_col end as my_date_col,
    ...

или малко по-кратката, но само за mysql опция:

    if(my_date_col = '0000-00-00', null, my_date_col) as my_date_col


Също така се препоръчва да внимавате да промените JDBC поведението на цялото приложение, тъй като може да разбиете кода, който разчита на връщането на такива дати – може би те използват rs.getString(i) вместо. Ще трябва да тествате регресивно всички други заявки, за да сте сигурни.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. php:как да промените низовите данни в числови данни

  2. включително липсващи (нулев брой) редове при използване на GROUP BY

  3. Как да изберете само дата от поле DATETIME в MySQL?

  4. Колко по-бърз е MyISAM в сравнение с InnoDB?

  5. Rails Migration Създаване на първичен ключ на таблица