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

MySQL - ANTARA tidak akan memilih hasil yang benar

Lihat ini terkait pertanyaan.

Seperti yang telah disebutkan orang lain, masalah utama Anda bukanlah menghitung waktu. Beberapa opsi untuk mengatasinya:

  1. Gunakan fungsi untuk mengonversi DateTime menjadi Date. Saya tidak merekomendasikan opsi ini, karena kemungkinan akan membuat fungsi tidak sopan .

  2. Perluas BETWEEN . Anda untuk secara eksplisit memasukkan momen terakhir hari itu:(catatan:ini adalah kemungkinan nilai terbaru yang dapat disimpan MS SQL, tidak tahu apakah MySQL memiliki nilai yang sama)

    SELECT * FROM `punches` WHERE `date` 
    BETWEEN '08/20/11 00:00:00.000' AND '08/31/11 23:59:59.997'
    
  3. Gunakan < untuk nilai atas

    SELECT * FROM `punches` WHERE `date` >= '08/20/11' AND `date` < '09/01/11'
    

Saya benar-benar berpikir bahwa yang terakhir lebih mudah, dalam kebanyakan situasi.

Saya kira Anda dapat melakukan hal lain, seperti mengubah tipe data kolom, tetapi saya berasumsi di sini bahwa Anda hanya tertarik untuk mengubah kueri.

** Penafian:Saya seorang pria MS SQL, bukan MySQL



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menghitung baris dari subquery

  2. Doctrine 2 Query Builder abs Fungsi

  3. Menggunakan Mesin Penyimpanan MySQL yang Berbeda dalam Desain Basis Data

  4. Permintaan Pembaruan Java MySQL

  5. Bagaimana saya bisa membuat Pekerjaan atau acara di mysql