Как я могу получить результаты MySQL сегодняшней даты? - PullRequest
1 голос
/ 15 сентября 2009

Я пытаюсь получить результаты из таблицы, которая была вставлена ​​сегодня. Каждая вставка помечена меткой времени.

Если я сделаю запрос вроде:

SELECT * 
  FROM table 
  WHERE added > DATE_SUB(NOW(), INTERVAL 1 DAY) 

Кажется, я получаю материал, который выпал на сегодняшнюю дату, но также материал от 24 часов назад возможно я вижу вещи

Я не хочу ничего видеть 24 часа назад ...

Ответы [ 5 ]

4 голосов
/ 15 сентября 2009

Вы можете извлечь часть даты поля метки времени и сравнить ее с текущей датой .

SELECT x,y,z FROM t WHERE Date(added)=Curdate()
2 голосов
/ 15 сентября 2009

Я склонен использовать TO_DAYS (), чтобы превратить время в число дня, например,

SELECT * 
  FROM table 
  WHERE TO_DAYS(added)=TO_DAYS(NOW())
2 голосов
/ 15 сентября 2009

«интервал 1 день» не означает «тот же календарный день», это означает «в течение 24 часов». Есть много ситуаций, где это полезно. Например, вы можете сказать: «Покажите мне все ответы на мои сообщения, сделанные за последние 24 часа». Если бы я выполнил такой запрос, когда приехал на работу утром, он бы сообщил мне обо всех ответах, которые пришли с тех пор, как я спросил вчера утром, а также об ответах, которые пришли сегодня утром до моего приезда. Скорее всего, это то, что я хочу знать.

Видимо, это бесполезно в вашем случае, так что ... используйте что-то еще! Как и другие постеры предложили.

2 голосов
/ 15 сентября 2009

вы можете использовать трюк, согласно которому mysql сравнивает дату как полночь по сравнению со значением даты и времени:

SELECT * FROM table WHERE added >= CURRENT_DATE

имеет то преимущество, что может использовать индекс.

0 голосов
/ 07 февраля 2019
SELECT * 
FROM table 
WHERE DATE(added) = DATE(NOW()) 

ДАТА (добавлено) удалит часы, минуты и секунды из вашей даты, если они там есть.

NOW () возвращает сегодняшнюю дату и время.

DATE (NOW ()) возвращает сегодняшнюю дату.

Так что если вы сделаете WHERE DATE (добавлено) = DATE (NOW ()), то вы получите результаты только там, где дата является сегодняшней датой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...