在 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中文网其他相关文章!