Mysql 此查询是否获取过去7天的数据?

Mysql 此查询是否获取过去7天的数据?,mysql,database,Mysql,Database,我想确保这个查询是正确的。我已经阅读了文档,我相信是的,但我正在寻找一些MySql老手的帮助来确认 当此查询运行时,它应该返回昨天到前天一周之间创建的用户列表 SELECT * FROM User WHERE DateCreated BETWEEN ((NOW() -INTERVAL 1 DAY) - INTERVAL 7 DAY) AND (NOW() -INTERVAL 1 DAY); 谢谢你的帮助 (现在()-间隔1天)-间隔7天与8月30日(上周的星期四)的现在()-

我想确保这个查询是正确的。我已经阅读了文档,我相信是的,但我正在寻找一些MySql老手的帮助来确认

当此查询运行时,它应该返回昨天到前天一周之间创建的用户列表

SELECT *
FROM User WHERE DateCreated BETWEEN 
    ((NOW() -INTERVAL 1 DAY) - INTERVAL 7 DAY) AND
    (NOW() -INTERVAL 1 DAY);

谢谢你的帮助

(现在()-间隔1天)-间隔7天
与8月30日(上周的星期四)的
现在()-间隔8天
相同。因此,它将包括当天创建的新用户。如果这就是你想要的,并且
DateCreated
是一种日期类型而不是日期时间类型,那么在我看来它看起来没问题。
((现在()-INTERVAL 1天)-INTERVAL 7天)
基本上是-8天,所以如果你今天(2018-09-07)运行它,你就会得到范围
2018-09-30-2018-09-06
。。。还有一个提示,当您对您在
ON(when join)/WHERE/HAVING
子句中使用的SQL中的任何类型的计算有疑问时,您只需运行
SELECT((NOW()-INTERVAL 1天)-INTERVAL 7天)
SELECT(NOW()-INTERVAL 1天)检查它即可
为了验证计算结果,您能否创建一些样本数据并快速进行检查?我也同意@NicoHaase的说法。我不会相信网络上的陌生人,也不会相信自己的眼睛。从该查询返回的
DateCreated
值是否符合您的预期?“实际上,您希望减去7天而不是8天”。当此查询运行时,它应该返回昨天和前天一周之间创建的用户列表。“@SalmanA thats-8