Menukar DATETIME kepada DATE dalam MySQL
Apabila bekerja dengan pangkalan data, selalunya perlu mengumpulkan rekod mengikut tarikh. Walau bagaimanapun, jika pangkalan data hanya menyimpan nilai DATETIME dan bukannya nilai DATE, anda mungkin menghadapi cabaran semasa melaksanakan operasi ini.
Untuk menyelesaikannya, MySQL menyediakan beberapa fungsi yang membolehkan anda mengubah suai nilai DATETIME. Satu fungsi sedemikian ialah DATE(), yang mengambil hujah DATETIME dan hanya mengembalikan bahagian tarikh, tidak termasuk masa. Ini amat berguna untuk mengumpulkan rekod berdasarkan tarikh.
Sebagai contoh, pertimbangkan pertanyaan berikut:
select * from follow_queue group by follow_date cast follow_date as date
Pertanyaan ini mengumpulkan rekod mengikut lajur tarikh_ikut. Walau bagaimanapun, memandangkan follow_date mengandungi nilai DATETIME, menghantarnya ke DATE adalah perlu untuk mengekstrak bahagian tarikh sahaja. Ini dilakukan menggunakan fungsi CAST(), seperti yang dilihat dalam pertanyaan.
Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa pertanyaan yang diberikan dalam pernyataan masalah adalah tidak sah. Untuk mencapai hasil yang diingini, sintaks hendaklah diperbetulkan kepada:
select * from follow_queue group by DATE(follow_date)
Pertanyaan ini menggunakan fungsi DATE() terus untuk mengekstrak bahagian tarikh daripada lajur follow_date. Fungsi DATE() mengembalikan nilai DATE, yang boleh digunakan untuk operasi kumpulan. Dengan menggunakan fungsi ini, anda boleh memperoleh hasil yang diingini untuk mengumpulkan rekod mengikut tarikh, walaupun pangkalan data hanya menyimpan nilai DATETIME.
Atas ialah kandungan terperinci Bagaimana untuk Menghimpunkan Rekod mengikut Tarikh dalam MySQL Apabila Hanya Nilai DATETIME Wujud?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!