Rumah  >  Artikel  >  pangkalan data  >  Bagaimanakah saya boleh mendapatkan semula data untuk tempoh masa tertentu dalam MySQL menggunakan INTERVAL dan CURDATE()?

Bagaimanakah saya boleh mendapatkan semula data untuk tempoh masa tertentu dalam MySQL menggunakan INTERVAL dan CURDATE()?

Patricia Arquette
Patricia Arquetteasal
2024-10-27 06:06:29253semak imbas

How can I retrieve data for specific time periods in MySQL using INTERVAL and CURDATE()?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn