要获取当前日期的前7天到后7天的日期范围,可以使用MySQL的DATE_SUB()
和DATE_ADD()
函数。以下是一个简单的查询示例:
SELECT
DATE_SUB(CURDATE(), INTERVAL 7 DAY) AS 'start_date',
DATE_ADD(CURDATE(), INTERVAL 7 DAY) AS 'end_date';
这个查询会返回两列,分别是当前日期减去7天(start_date
)和当前日期加上7天(end_date
)的结果。
这种查询常用于需要获取特定时间范围内的数据,例如:
问题:查询结果不包含当前日期。
原因:CURDATE()
返回的是当前日期,但不包括时间部分。如果需要包含当前日期,可以使用NOW()
函数并截取日期部分。
解决方法:
SELECT
DATE_SUB(CURDATE(), INTERVAL 7 DAY) AS 'start_date',
CURDATE() AS 'current_date',
DATE_ADD(CURDATE(), INTERVAL 7 DAY) AS 'end_date';
这样就可以确保当前日期也被包含在内。
通过这种方式,你可以灵活地处理日期范围查询,满足不同的业务需求。
领取专属 10元无门槛券
手把手带您无忧上云