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!