Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana memproses tanggal 0000-00-00 di jdbc MySQL query

Saya suka @a_horse_with_no_name , namun jika Anda tidak memiliki kendali atas koneksi, Anda dapat mengubah kueri untuk mengembalikan null sebagai gantinya:

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

atau opsi yang sedikit lebih singkat, tetapi hanya untuk mysql:

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


Selain itu, disarankan untuk berhati-hati mengubah seluruh perilaku JDBC aplikasi karena Anda dapat merusak kode yang bergantung pada tanggal tersebut dikembalikan - mungkin mereka menggunakan rs.getString(i) sebagai gantinya. Anda harus menguji regresi semua kueri lain untuk memastikannya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySql.Data.MySqlClient.MySqlException:“Host localhost tidak mendukung koneksi SSL.”

  2. Mysql:hapus baris dalam dua tabel dengan kunci asing

  3. Pilih catatan dari SEKARANG() -1 Hari

  4. SQL Error 1630:Fungsi SUBSTRING tidak ada.. ya?

  5. php artisan migration throw [Pengecualian PDO] Tidak dapat menemukan driver - Menggunakan Laravel