Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Memilih Rekod Dengan Cekap Berdasarkan Tarikh daripada Lajur MySQL DATETIME?

Bagaimanakah Saya Boleh Memilih Rekod Dengan Cekap Berdasarkan Tarikh daripada Lajur MySQL DATETIME?

Patricia Arquette
Patricia Arquetteasal
2024-11-29 00:21:14219semak imbas

How Can I Efficiently Select Records Based on Date from a MySQL DATETIME Column?

Memilih Tarikh daripada Lajur DATETIME

Dalam senario anda, anda cuba mengekstrak komponen tarikh daripada lajur DATETIME dan mencari rekod pada tarikh tersebut. Walau bagaimanapun, kaedah yang anda gunakan nampaknya tidak berkesan. Mari kita terokai pendekatan alternatif untuk menangani isu ini.

MySQL menyediakan fungsi DATE(), yang boleh digunakan untuk mengekstrak tarikh daripada lajur DATETIME. Menggunakan fungsi ini, anda boleh melaraskan pertanyaan anda seperti berikut:

SELECT *
FROM data
WHERE DATE(datetime) = '2009-10-20'
ORDER BY datetime DESC;

Dengan menggunakan DATE(), anda secara eksplisit mengekstrak bahagian tarikh, memastikan bahawa hanya rekod yang sepadan dengan tarikh yang ditentukan dikembalikan.

Pilihan lain ialah menggunakan operator LIKE dengan kad bebas. Kaedah ini memerlukan sedikit pengubahsuaian pada pertanyaan anda:

SELECT *
FROM data
WHERE datetime LIKE '2009-10-20%'
ORDER BY datetime DESC;

Dalam kes ini, kad bebas (%) membenarkan sebarang aksara selepas bahagian tarikh dipadankan, mengembalikan semua rekod yang bermula dengan tarikh yang ditentukan. Walau bagaimanapun, adalah penting untuk mempertimbangkan implikasi prestasi menggunakan LIKE, kerana ia mungkin kurang cekap berbanding kaedah lain, terutamanya untuk set data yang lebih besar.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memilih Rekod Dengan Cekap Berdasarkan Tarikh daripada Lajur MySQL DATETIME?. 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