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

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

DDD
發布: 2024-12-05 17:17:14
原創
765 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板