Подтвердить что ты не робот

MySQL: как добавить один день в поле datetime в запросе

В моей таблице у меня есть поле с именем eventdate в формате datetime, например 2010-05-11 00:00:00.

Как сделать запрос, чтобы он добавлял один день к eventdate, например, если сегодня есть 2010-05-11, я хочу показать в where предложение, чтобы вернуть все записи с завтра дата.

Update:

Я пробовал это:

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

Но, к сожалению, он возвращает ту же запись, даже если я добавляю интервал больше 1.

Результат:

2010-05-12 00:00:00

Но я хочу только выбрать записи с датой завтра.

4b9b3361

Ответ 1

Вы можете использовать функцию 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)

Ответ 2

SELECT DATE_ADD(eventdate, INTERVAL 1 DAY)

MySQL doc

Ответ 3

Идите с этим, так как я это сделаю:)

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

Ответ 4

Если вы можете использовать NOW(), это будет простейшая форма:

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

С MySQL 5.6+ должен выполняться запрос abowe. В зависимости от сервера sql вам может потребоваться использовать CURRDATE() вместо NOW() - который является псевдонимом для DATE(NOW()) и будет возвращать только дату в типе datetime;

Ответ 5

Можно использовать специальный синтаксический сахар MySQL:

SELECT ... date_field + INTERVAL 1 DAY

Выглядит гораздо красивее вместо функции DATE_ADD

Ответ 6

Как насчет этого:  

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

Ответ 7

Вы можете попробовать следующее:

SELECT DATE(DATE_ADD(m_inv_reqdate, INTERVAL + 1 DAY)) FROM  tr08_investment

Ответ 8

$date = strtotime(date("Y-m-d", strtotime($date)) . " +1 day");

Или, проще:

date("Y-m-d H:i:s", time()+((60*60)*24));