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

Bulan atau hari opsional di bidang tanggal MySQL dari PHP

Dalam banyak kesempatan, kami membutuhkan tanggal yang 'kurang lebih tepat', dan saya menggunakan tanggal seperti 2011-04-01 (tepat), serta 2011-04 (=April 2011) dan 2011 (tanggal hanya tahun) dalam metadata arsip. Seperti yang Anda sebutkan, bidang tanggal MySQL mentolerir '2011-00-00' meskipun tidak ada FAQ yang menceritakannya, dan itu baik-baik saja.
Tapi kemudian, saya harus menghubungkan MySQL database melalui ODBC dan bidang tanggal diterjemahkan dengan benar, kecuali tanggal 'ditoleransi' (Misalnya:'2011-04-00' hasil kosong dalam database ACCESS yang terhubung dengan MySQL-ODBC.
Untuk alasan itu, saya sampai pada kesimpulan bahwa bidang tanggal MySQL dapat dikonversi menjadi VARCHAR(10) biasa field :Selama kita tidak memerlukan fungsi tanggal MySQL tertentu, itu berfungsi dengan baik, dan tentu saja, kita masih dapat menggunakan fungsi tanggal php dan fungsi date_php2mysql() Anda yang bagus.

Saya akan mengatakan bahwa satu-satunya kasus ketika bidang tanggal MySQL diperlukan adalah ketika seseorang membutuhkan kueri SQL yang kompleks, menggunakan MySQL date berfungsi dalam kueri itu sendiri.(Tetapi kueri seperti itu tidak akan berfungsi lagi pada tanggal 'kurang lebih tepat'!...)

Kesimpulan :Untuk tanggal 'kurang lebih tepat', saat ini saya membuang kolom tanggal MySQL dan menggunakan VARCHAR(10) biasa bidang dengan aaaa-mm-jj data yang diformat. Sederhana itu indah.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Buat Pemicu untuk menghapus baris yang berusia>90 hari

  2. Bergabunglah dengan satu baris dari tabel di MySQL

  3. Perbedaan MySql antara dua cap waktu dalam beberapa hari?

  4. Bisakah saya menggunakan COUNT() dan DISTINCT bersama-sama?

  5. Bagaimana cara memasukkan beberapa nilai kotak teks dalam satu bidang dengan id berbeda yang berbeda?