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

PHP - menggunakan kolom tanggal waktu pembaruan STR_TO_DATE tetapi memperbarui catatan kosong seperti 0000-00-00 00:00:00

Masalahnya adalah dengan format %h:%i:%s

Inilah yang terjadi di mysql

mysql> select str_to_date('10-09-1985 00:00:00','%d-%m-%Y %h:%i:%s');
+--------------------------------------------------------+
| str_to_date('10-09-1985 00:00:00','%d-%m-%Y %h:%i:%s') |
+--------------------------------------------------------+
| NULL                                                   |
+--------------------------------------------------------+

Jadi mengembalikan NULL dan saat memasukkannya tidak berjalan, jadi Anda perlu menggunakan format %H:%i:%s

mysql> select str_to_date('10-09-1985 00:00:00','%d-%m-%Y %H:%i:%s');
+--------------------------------------------------------+
| str_to_date('10-09-1985 00:00:00','%d-%m-%Y %H:%i:%s') |
+--------------------------------------------------------+
| 1985-09-10 00:00:00                                    |
+--------------------------------------------------------+

Untuk 10-09-1985 01:00:00 format tanggal valid dengan %h:%i:%s jadi berhasil.

Sebaiknya pilih format tanggal Y-m-d H:i:s bahkan dengan tanggal input, sejak 10-09-1985 01:00:00 tidak memberi tahu apakah itu AM atau PM dan kemudian melakukan perhitungan tanggal menjadi sangat sulit.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kueri peringkat grup PHP MYSQL

  2. Login yang sama di 2 situs web

  3. pilih koordinat di tabel lain

  4. Bagaimana saya bisa menemukan semua tabel di MySQL dengan nama kolom tertentu di dalamnya?

  5. Cara menulis kueri GABUNG HQL untuk beberapa Kolom yang dipilih tabel menggunakan Konstruktor Dalam Klausa Pilih