Reputation:
In my table I have a field named eventdate
in datetime
format like 2010-05-11 00:00:00
.
How do i make a query so that it adds one day to the eventdate
eg if today is 2010-05-11
, i want to show in where
clause to return all records with tomorrow's date.
Update:
I tried this:
select * from fab_scheduler where custid = 1334666058 and DATE_ADD(eventdate, INTERVAL 1 DAY)
But unfortunately it returns the same record even if i add an interval greater than 1.
Result:
2010-05-12 00:00:00
But i only want to select records with tomorrow's date.
Upvotes: 87
Views: 156367
Reputation: 137
You can try this:
SELECT DATE(DATE_ADD(m_inv_reqdate, INTERVAL + 1 DAY)) FROM tr08_investment
Upvotes: 1
Reputation: 656
If you are able to use NOW() this would be simplest form:
SELECT * FROM `fab_scheduler` WHERE eventdate>=(NOW() - INTERVAL 1 DAY)) AND eventdate<NOW() ORDER BY eventdate DESC;
With MySQL 5.6+ query abowe should do. Depending on sql server, You may be required to use CURRDATE()
instead of NOW()
- which is alias for DATE(NOW())
and will return only date part of datetime
data type;
Upvotes: 2
Reputation: 11855
Have a go with this, as this is how I would do it :)
SELECT *
FROM fab_scheduler
WHERE custid = '123456'
AND CURDATE() = DATE(DATE_ADD(eventdate, INTERVAL 1 DAY))
Upvotes: 9
Reputation: 1
How about this:
select * from fab_scheduler where custid = 1334666058 and eventdate = eventdate + INTERVAL 1 DAY
Upvotes: 0
Reputation: 4059
$date = strtotime(date("Y-m-d", strtotime($date)) . " +1 day");
Or, simplier:
date("Y-m-d H:i:s", time()+((60*60)*24));
Upvotes: -3
Reputation: 5284
It`s possible to use MySQL specific syntax sugar:
SELECT ... date_field + INTERVAL 1 DAY
Looks much more pretty instead of DATE_ADD function
Upvotes: 10
Reputation: 344311
You can use the DATE_ADD()
function:
... WHERE DATE(DATE_ADD(eventdate, INTERVAL -1 DAY)) = CURRENT_DATE
It can also be used in the SELECT
statement:
SELECT DATE_ADD('2010-05-11', INTERVAL 1 DAY) AS Tomorrow;
+------------+
| Tomorrow |
+------------+
| 2010-05-12 |
+------------+
1 row in set (0.00 sec)
Upvotes: 153