Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan Rekod MySQL Dengan Cekap Berdasarkan Tarikh Sahaja, Abaikan Masa?

Bagaimana untuk Mendapatkan Rekod MySQL Dengan Cekap Berdasarkan Tarikh Sahaja, Abaikan Masa?

Barbara Streisand
Barbara Streisandasal
2024-12-13 17:31:12476semak imbas

How to Efficiently Retrieve MySQL Records Based on Date Only, Ignoring Time?

Dapatkan Rekod Berdasarkan Tarikh Sahaja, Tidak Termasuk 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn