Выберите записи из СЕЙЧАС() -1 Дней

Есть ли способ в инструкции MySQL упорядочить записи (через штамп даты) с помощью >= NOW() -1, чтобы были выбраны все записи за день до сегодняшнего дня в будущее?

Ответ 2

Помните, что результат может несколько отличаться от ожидаемого.

NOW() возвращает a DATETIME.

И INTERVAL работает как указано, например. INTERVAL 1 DAY = 24 hours.

Итак, если ваш script работает cron'd для 03:00, он пропустит first three hours of records from the 'oldest' day.

Чтобы весь день использовать CURDATE() - INTERVAL 1 DAY. Это вернется к началу предыдущего дня независимо от того, когда выполняется script.

Ответ 3

Вы почти там: it NOW() - INTERVAL 1 DAY

Ответ 4

Конечно, вы можете:

SELECT * FROM table
WHERE DateStamp > DATE_ADD(NOW(), INTERVAL -1 DAY)

Ответ 5

когда поле поиска является меткой времени, и вы хотите найти записи с 0 часов вчера и 0 часов сегодня, используйте конструкцию

MY_DATE_TIME_FIELD between makedate(year(now()), date_format(now(),'%j')-1) and makedate(year(now()), date_format(now(),'%j'))  

вместо

 now() - interval 1 day