在MySQL 中檢索30 天範圍內的記錄
用戶在嘗試檢索添加到MySQL 資料庫的記錄時經常會遇到困難特定的日期範圍,特別是在使用日期格式時。本文透過提供全面的解決方案來檢索今天到過去 30 天內的記錄,確保正確的日期格式以供顯示,從而解決了這一挑戰。
問題中提供的原始查詢遇到了無法限制的問題選擇最近 30 天並檢索所有記錄。要修正此問題,至關重要的是在 SELECT 子句中應用 DATE_FORMAT 函數,而不是在 WHERE 子句中。修正後的查詢如下:
SELECT DATE_FORMAT(create_date, '%m/%d/%Y') FROM mytable WHERE create_date BETWEEN CURDATE() - INTERVAL 30 DAY AND CURDATE()
需要注意的是,CURDATE() 僅擷取日期部分,不包含時間。如果您的 create_date 欄位將資料儲存為具有非零時間分量的 DATETIME,則此查詢可能不會傳回今天的記錄。
要解決此問題,請考慮使用NOW() 代替:
SELECT DATE_FORMAT(create_date, '%m/%d/%Y') FROM mytable WHERE create_date BETWEEN NOW() - INTERVAL 30 DAY AND NOW()
此修改可確保查詢返回最近30 天內添加的記錄,包括當天添加的任意時間部分的記錄。
以上是如何有效率地檢索MySQL最近30天的記錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!