Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengambil Rekod MySQL dari 30 Hari Terakhir, Termasuk Hari Ini?

Bagaimana untuk Mengambil Rekod MySQL dari 30 Hari Terakhir, Termasuk Hari Ini?

DDD
DDDasal
2024-12-05 17:17:14747semak imbas

How to Retrieve MySQL Records from the Last 30 Days, Including Today?

Cara Memilih Rekod Pangkalan Data Antara Hari Ini dan 30 Hari Terakhir dengan MySQL

Soalan ini bertujuan untuk mendapatkan semula rekod yang ditambahkan dalam tempoh 30 hari yang lalu, dengan penukaran tarikh yang diperlukan untuk paparan. Pertanyaan yang diberikan cuba menggunakan DATE_FORMAT dalam klausa WHERE, tetapi ia tidak mengehadkan pemilihan seperti yang dimaksudkan.

Penyelesaian

Penyelesaian yang betul melibatkan penggunaan DATE_FORMAT dalam PILIH klausa:

SELECT DATE_FORMAT(create_date, '%m/%d/%Y')
FROM mytable
WHERE create_date BETWEEN CURDATE() - INTERVAL 30 DAY AND CURDATE()

Sebab untuk Pembetulan

Fungsi DATE_FORMAT MySQL menukar tarikh kepada format tertentu, tetapi ia tidak mengubah suai nilai tarikh asas. Oleh itu, ia hendaklah digunakan selepas klausa WHERE, yang menentukan julat tarikh minat.

Pertimbangan Tambahan

Jika create_date disimpan sebagai DATETIME dengan bukan- komponen masa sifar, menggunakan CURDATE() dalam klausa WHERE tidak akan memilih rekod hari ini. Untuk mengambil kira perkara ini, gunakan NOW() sebaliknya:

SELECT DATE_FORMAT(create_date, '%m/%d/%Y')
FROM mytable
WHERE create_date BETWEEN NOW() - INTERVAL 30 DAY AND NOW()

Atas ialah kandungan terperinci Bagaimana untuk Mengambil Rekod MySQL dari 30 Hari Terakhir, Termasuk Hari Ini?. 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