如何获取间隔 10 天前后的所有数据?

All*_*tan 5 mysql database-design mysql-5.6

    SELECT * FROM events  WHERE `date` 
    BETWEEN NOW() AND DATE_ADD
    (NOW(), INTERVAL 10 DAY) order by date
Run Code Online (Sandbox Code Playgroud)

我使用上面的代码来提取间隔十天的事件数据。现在我想提取出这 10 天间隔之前和 10 天间隔之后的所有数据。我怎样才能以完美的方式做到这一点?

请帮忙。提前感谢您的时间

Ric*_*mes 2

最好发出两个查询。

SELECT * FROM events
    WHERE `date` >= NOW() - INTERVAL 10 DAY
      AND `date`  < NOW();

SELECT * FROM events
    WHERE `date` >= NOW()
      AND `date`  < NOW() + INTERVAL 10 DAY;
Run Code Online (Sandbox Code Playgroud)

您可以同时获得两者,但如果需要将它们分开可能会很不方便:

SELECT * FROM events
    WHERE `date` >= NOW() - INTERVAL 10 DAY
      AND `date`  < NOW() + INTERVAL 10 DAY;
Run Code Online (Sandbox Code Playgroud)

如果您想以午夜而不是当前秒为基础,请使用CURDATE()代替NOW()