首頁 >資料庫 >mysql教程 >如何擷取最近 30 天(包括今天)的 MySQL 記錄?

如何擷取最近 30 天(包括今天)的 MySQL 記錄?

DDD
DDD原創
2024-12-05 17:17:14739瀏覽

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

如何使用MySQL 選擇今天和過去30 天內的資料庫記錄

此問題旨在檢索過去30 天內新增的記錄,具有顯示所需的日期轉換。提供的查詢嘗試在 WHERE 子句中使用 DATE_FORMAT,但它不會按預期限制選擇。

解決方案

正確的解決方案包括在SELECT 子句:

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

原因更正

MySQL 的DATE_FORMAT函數將日期轉換為特定格式,但它不會修改底層日期值。因此,它應該應用在 WHERE 子句之後,該子句指定感興趣的日期範圍。

其他注意事項

如果create_date 儲存為具有非- 的DATETIME零時間組件,在WHERE 子句中使用CURDATE() 將不會選擇今天的記錄。為了解決這個問題,請使用 NOW() 來取代:

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

以上是如何擷取最近 30 天(包括今天)的 MySQL 記錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn