MySQL:如何在查询中添加一天到date时间字段

在我的表中,我有一个名为eventdatedatetime格式的字段,如2010-05-11 00:00:00

我如何做一个查询,以便增加一天eventdate例如,如果今天是2010-05-11 ,我想在where子句中显示返回所有logging与明天的date。

更新:

我试过这个:

select * from fab_scheduler where custid = 1334666058 and DATE_ADD(eventdate, INTERVAL 1 DAY)

但不幸的是,即使我添加大于1的间隔,它也会返回相同的logging。

结果:

2010-05-12 00:00:00

但是我只想select明天的logging。

您可以使用DATE_ADD()函数:

 ... WHERE DATE(DATE_ADD(eventdate, INTERVAL -1 DAY)) = CURRENT_DATE 

它也可以用在SELECT语句中:

 SELECT DATE_ADD('2010-05-11', INTERVAL 1 DAY) AS Tomorrow; +------------+ | Tomorrow | +------------+ | 2010-05-12 | +------------+ 1 row in set (0.00 sec) 
 SELECT DATE_ADD(eventdate, INTERVAL 1 DAY) 

MySQL文档

有一个去与此,因为这是我将如何做:)

 SELECT * FROM fab_scheduler WHERE custid = '123456' AND CURDATE() = DATE(DATE_ADD(eventdate, INTERVAL 1 DAY)) 

如果你能使用NOW(),这将是最简单的forms:

 SELECT * FROM `fab_scheduler` WHERE eventdate>=(NOW() - INTERVAL 1 DAY)) AND eventdate<NOW() ORDER BY eventdate DESC; 

随着MySQL 5.6 +查询abowe应该做的。 根据sql server,可能需要使用CURRDATE()而不是NOW() – 这是DATE(NOW())别名,并且将仅返回date时间数据types的date部分;

它可以使用MySQL特定的语法糖:

 SELECT ... date_field + INTERVAL 1 DAY 

看起来更漂亮,而不是DATE_ADD函数

这个怎么样:

 select * from fab_scheduler where custid = 1334666058 and eventdate = eventdate + INTERVAL 1 DAY 

你可以试试这个:

 SELECT DATE(DATE_ADD(m_inv_reqdate, INTERVAL + 1 DAY)) FROM tr08_investment 
 $date = strtotime(date("Ymd", strtotime($date)) . " +1 day"); 

或者简单地说:

 date("Ymd H:i:s", time()+((60*60)*24));