Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengambil Data MySQL Dengan Betul Dalam Julat Tarikh Tertentu?
Mengambil Data Antara Dua Tarikh dalam MySQL
Apabila berurusan dengan nilai datetime dalam MySQL, adalah penting untuk mempertimbangkan lalai tengah malam untuk format tarikh pendek . Ini boleh membawa kepada hasil yang tidak dijangka apabila menanyakan data dalam julat tarikh.
Sebagai contoh, jika anda ingin memilih rekod yang lajur create_at berada di antara '2011-12-01' dan '2011-12-06, ' menggunakan pertanyaan berikut:
SELECT `users`.* FROM `users` WHERE created_at >= '2011-12-01' AND created_at <= '2011-12-06'
mungkin tidak mengembalikan hasil yang diingini. Ini kerana format tarikh pendek secara tersirat mentafsir masa sebagai tengah malam.
Untuk membetulkan isu ini, laraskan pertanyaan untuk menggunakan '2011-12-07' sebagai sempadan atas:
SELECT `users`.* FROM `users` WHERE created_at >= '2011-12-01' AND created_at <= '2011-12-07'
Sebagai alternatif, anda boleh menggunakan fungsi date_add() MySQL atau operator BETWEEN untuk mencapai perkara yang sama hasil:
SELECT `users`.* FROM `users` WHERE created_at >= '2011-12-01' AND created_at <= date_add('2011-12-01', INTERVAL 7 DAY)
SELECT `users`.* FROM `users` WHERE created_at BETWEEN '2011-12-01', date_add('2011-12-01', INTERVAL 7 DAY)
Dengan mempertimbangkan tafsiran tengah malam lalai bagi format tarikh pendek, anda boleh mendapatkan semula data dengan tepat dalam julat tarikh yang ditentukan dalam MySQL.
Atas ialah kandungan terperinci Bagaimana untuk Mengambil Data MySQL Dengan Betul Dalam Julat Tarikh Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!