Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan Rekod MySQL Dengan Cekap Berdasarkan Tarikh Sahaja, Abaikan Masa?
Masalah:
Anda mempunyai jadual MySQL dengan lajur datetime dan memerlukan cara untuk memilih rekod yang jatuh dalam hari tertentu, tanpa mengambil kira masa komponen.
Penyelesaian:
Untuk mencapai ini, elakkan menggunakan fungsi DATE() dalam klausa WHERE anda, kerana ia menghalang prestasi dan menghalang penggunaan indeks. Sebaliknya, gunakan operator BETWEEN untuk menentukan julat hari yang merangkumi tarikh yang diingini.
SELECT * FROM tablename WHERE columname BETWEEN '2012-12-25 00:00:00' AND '2012-12-25 23:59:59'
Sebagai alternatif, untuk versi MySQL yang mungkin mempunyai had dengan menentukan '23:59:59' untuk penghujung hari, anda boleh menggunakan pertanyaan berikut:
SELECT * FROM tablename WHERE columname >= '2012-12-25 00:00:00' AND columname < '2012-12-26 00:00:00'
Pendekatan ini memastikan bahawa anda hanya mendapatkan semula rekod untuk yang ditentukan hari, tanpa sebarang pengaruh daripada komponen masa.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Rekod MySQL Dengan Cekap Berdasarkan Tarikh Sahaja, Abaikan Masa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!