Rumah > Soal Jawab > teks badan
Terdapat medancreated_at
jenis datetime Bagaimana untuk memilih data tarikh tertentu?
SELECT * FROM data WHERE created_at = '2017-06-29';
SELECT * FROM data WHERE created_at BETWEEN '2017-06-29 00:00:00' AND '2017-06-29 23:59:59';
Tiada satu pun yang betul, set hasil semua kosong
曾经蜡笔没有小新2017-06-30 09:55:42
Artikel rujukan: Fungsi berkaitan pemprosesan masa MySQL
WHERE TARIKH(dicipta_pada) = '2017-06-29'
atau
WHERE created_at LIKE '2017-06-29%'
習慣沉默2017-06-30 09:55:42
Format lalai datetime ialah '2017-06-29 00:00:00' Jika data anda mempunyai data pada hari ini, item kedua akan mendapat keputusan, jadi anda perlu menyemak sama ada terdapat data pada hari ini. dalam jadual. Dan apakah format data anda?
PS: Untuk mendapatkan data hari tertentu, anda boleh create_at seperti 'yyyy-mm-dd%' atau cara kedua anda menulis, tarikh(created_at) dan left(created_at) juga boleh mendapatkan tarikh hari tersebut, tetapi mereka tidak akan diindeks, kecekapannya sangat lemah
仅有的幸福2017-06-30 09:55:42
Saya boleh, tetapi mungkin jadual atau medan anda salah, atau memang tiada hasil. . Syaratnya tiada masalah
高洛峰2017-06-30 09:55:42
select * from data d WHERE d.created_at >= curdate()
and d.created_at < DATE_ADD(STR_TO_DATE(curdate(), '%Y-%m-%d'), INTERVAL 1 DAY);
Ini bermaksud untuk menanyakan masa yang lebih besar daripada atau sama dengan 0:00 hari ini dan kurang daripada 0:00 esok
黄舟2017-06-30 09:55:42
Baris pertama adalah salah kerana format tarikh adalah berbeza daripada format dalam keadaan anda.
Baris kedua betul
Hasilnya pun betul, sebab memang tak ada data.