Проверка даты и времени более чем на х часов в прошлом - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть таблица, в которой есть один столбец даты, а затем столбец времени и времени - в некоторых сценариях возможно, что мне нужно проверить время вчера, и именно здесь я борюсь.

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

Например, сейчас это 2019-02-21 20:01:00 и я ищу все записи, которые имеют время более 8 часов назад.

Я использую этот запрос:

SELECT id from table where
    ((date='2019-02-21' and time_in < date_sub(now(),interval 8 hour)) 
or 
    (date='2019-02-20' and time_in < date_add(now(), interval 16 hour))) 
and 
    time_out='00:00:00'
  • Если у меня дата 2019-02-21 и время 10:00, тогда это работает
  • Если у меня дата 2019-02-20 и время 10:00, тогдаэто работает
  • Если у меня дата 2019-02-21 и время 23:00, тогда это НЕ работает

Возможно ли заставить это работать со сценарием?где время плюс минус интервала занимает более полуночи / 00:00?

1 Ответ

0 голосов
/ 21 февраля 2019

Используйте функцию TIMESTAMP, чтобы объединить дату и время, а затем сравнить с датами:

WHERE TIMESTAMP(date, time_in) < CURRENT_TIMESTAMP - INTERVAL 8 HOUR
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...