HiveBrain v1.2.0
Get Started
← Back to all entries
snippetsqlMinor

How to get all data before and after 10 days of interval?

Submitted by: @import:stackexchange-dba··
0
Viewed 0 times
afterallintervalgethowandbeforedatadays

Problem

SELECT * FROM events  WHERE `date` 
    BETWEEN NOW() AND DATE_ADD
    (NOW(), INTERVAL 10 DAY) order by date


I am using the above code to extract the events data of ten days of interval. Now I want to Extract out all the data before this 10 days of interval and after 10 days of interval. How can I do that in a perfect way?

Please help. Advance thanks for your time

Solution

It is probably best to issue two queries.

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


You could get both at once, but it could be inconvenient if you need to separate them:

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


If you want to base on midnight instead of the current second, use CURDATE() instead of NOW().

Code Snippets

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

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

Context

StackExchange Database Administrators Q#151245, answer score: 2

Revisions (0)

No revisions yet.