Rumah >pangkalan data >tutorial mysql >Bagaimana Mengeluarkan Tarikh dengan Cekap dari Lajur DateTime dalam MySQL?
Apabila bekerja dengan jenis data datetime, selalunya perlu mengekstrak komponen tertentu, seperti tarikh atau masa. Artikel ini menangani cabaran untuk mendapatkan semula tarikh daripada lajur datetime dalam MySQL.
Pertanyaan biasa ialah menapis baris berdasarkan tarikh tertentu, seperti dalam contoh berikut:
SELECT * FROM data WHERE datetime = '2009-10-20' ORDER BY datetime DESC;
Walau bagaimanapun, penyelesaian yang disediakan untuk menggunakan klausa ANTARA untuk menentukan julat tarikh '2009-10-20 00:00:00' hingga '2009-10-20 23:59:59' mengembalikan set hasil kosong.
Untuk mengekstrak tarikh dengan berkesan, MySQL menyediakan fungsi DATE(), yang mengembalikan komponen tarikh bagi nilai datetime. Menggunakan DATE() dalam klausa WHERE membenarkan perbandingan langsung dengan literal tarikh:
SELECT * FROM data WHERE DATE(datetime) = '2009-10-20' ORDER BY datetime DESC;
Pendekatan alternatif yang kadangkala boleh meningkatkan prestasi ialah menggunakan operator LIKE dengan akhiran kad bebas:
SELECT * FROM data WHERE datetime LIKE '2009-10-20%'
Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa perbandingan LIKE mungkin mempunyai implikasi prestasi, seperti yang dibincangkan dalam urutan Stack Exchange yang lain.
Atas ialah kandungan terperinci Bagaimana Mengeluarkan Tarikh dengan Cekap dari Lajur DateTime dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!