Bekerja dengan INTERVAL dan CURDATE dalam MySQL untuk Mendapatkan Data untuk Tempoh Masa Tertentu
Apabila bekerja dengan data temporal, MySQL menawarkan beberapa fungsi untuk dimanipulasi tarikh dan selang masa. Dalam kes anda, anda menyasarkan untuk mengekstrak data untuk bulan tertentu sambil mengelakkan berbilang pertanyaan.
Untuk mencapai ini, anda boleh menggunakan kata kunci INTERVAL bersama-sama dengan CURDATE(), fungsi yang mengembalikan tarikh semasa. Dengan menolak INTERVAL daripada CURDATE(), anda boleh membuat julat yang mewakili rangka masa tertentu.
Sebagai contoh, katakan anda ingin mendapatkan semula data untuk bulan sebelumnya. Anda boleh menggunakan pertanyaan berikut:
AND v.date > (DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) AND v.date < CURDATE()
Pertanyaan ini akan memilih data daripada jadual 'votes_serveur' di mana lajur 'tarikh' berada dalam julat bulan sebelumnya.
Begitu juga, anda boleh laraskan nilai INTERVAL untuk mendapatkan data untuk sebarang tempoh masa yang dikehendaki.
Sebagai contoh, untuk mendapatkan semula data untuk 12 bulan sebelumnya, anda boleh menggunakan pertanyaan berikut:
AND v.date > (DATE_SUB(CURDATE(), INTERVAL 12 MONTH)) AND v.date < CURDATE()
Pertanyaan ini akan mengembalikan data untuk keseluruhan tahun sebelumnya.
Dengan menggunakan INTERVAL dengan CURDATE(), anda boleh menapis data temporal secara fleksibel dan mencipta julat masa dinamik, memudahkan tugas mendapatkan data anda dan menghapuskan keperluan untuk berbilang pertanyaan.
Atas ialah kandungan terperinci Bagaimanakah saya boleh mendapatkan semula data untuk tempoh masa tertentu dalam MySQL menggunakan INTERVAL dan CURDATE()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!