首页 >数据库 >mysql教程 >如何检索最近 30 天(包括今天)的 MySQL 记录?

如何检索最近 30 天(包括今天)的 MySQL 记录?

DDD
DDD原创
2024-12-05 17:17:14741浏览

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