Mysql Разница во времени и дате - PullRequest
1 голос
/ 29 июля 2011

У меня есть таблица, в которой есть одно поле start_time со следующими записями:

2011-07-26 14:30:00
    2011-07-28 08:00:00

Что мне нужно сделать, это сравнить поле start_time с текущей датой и временемпоказывать записи только в том случае, если разница между ними составляет менее 5 минут.Должны отображаться записи только текущей даты

Это то, что я пробовал:

SELECT * FROM jqcalendar WHERE StartTime <= NOW() - INTERVAL 5 MINUTE

Ответы [ 4 ]

2 голосов
/ 29 июля 2011

использовать функцию mysql TIMEDIFF (дата1, дата2)

select * from jqcalendar WHERE  TIMEDIFF(now(), StartDate) < 500

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_timediff

2 голосов
/ 29 июля 2011

Используйте DATE_ADD/DATE_SUB для расчета даты:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-add

так что StartTime <= DATE_SUB(NOW(), INTERVAL 5 MINUTE) должен сделать трюк

1 голос
/ 29 июля 2011

вы пробовали

StartTime > NOW() - INTERVAL 5 MINUTE

? Я думаю, что вы только что обернулись вокруг своего оператора.

0 голосов
/ 23 февраля 2015

TIMESTAMPDIFF(MINUTE,start_time,now()) < 5

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