Mengambil semula Rekod Berdasarkan Tarikh Hari Ini dalam MySQL
Apabila bekerja dengan pangkalan data, selalunya perlu menapis hasil berdasarkan kriteria tarikh atau masa tertentu . Dalam kes MySQL, mendapatkan rekod di mana lajur tarikh sepadan dengan tarikh hari ini boleh dicapai menggunakan pendekatan berikut:
Pertanyaan asal:
SELECT users.id, DATE_FORMAT(users.signup_date, '%Y-%m-%d') FROM users WHERE users.signup_date = CURDATE()
mempunyai isu kecil: ia membandingkan keseluruhan nilai datetime disimpan dalam lajur signup_date kepada hasil CURDATE(), yang hanya mewakili tarikh semasa tanpa komponen masa. Perbandingan ini berkemungkinan gagal.
Untuk membetulkannya, anda boleh menggunakan fungsi DATE() untuk mengekstrak komponen tarikh sahaja daripada lajur signup_date, memastikan perbandingan yang betul dengan tarikh semasa:
SELECT users.id, DATE_FORMAT(users.signup_date, '%Y-%m-%d') FROM users WHERE DATE(signup_date) = CURDATE()
Dengan pengubahsuaian ini, MySQL akan menilai sama ada bahagian tarikh lajur signup_date sepadan dengan tarikh semasa, menapis rekod yang tidak memenuhi ini kriteria.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Rekod Berdasarkan Tarikh Hari Ini dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!