Добавить 2 часа к текущему времени в MySQL?
Какой правильный синтаксис этого запроса в MySQL?
SELECT * FROM courses WHERE (now() + 2 hours) > start_time
примечание: start_time - это поле таблицы курсов
5 ответов
Решение
SELECT *
FROM courses
WHERE DATE_ADD(NOW(), INTERVAL 2 HOUR) > start_time
См. Функции даты и времени для других манипуляций с датой и временем.
SELECT * FROM courses WHERE (NOW() + INTERVAL 2 HOUR) > start_time
Функция DATE_ADD() сделает свое дело. (Вы также можете использовать функцию ADDTIME(), если вы работаете по крайней мере v4.1.1.)
Для вашего запроса это будет:
SELECT *
FROM courses
WHERE DATE_ADD(now(), INTERVAL 2 HOUR) > start_time
Или же,
SELECT *
FROM courses
WHERE ADDTIME(now(), '02:00:00') > start_time
Это также будет работать - ВЫБЕРИТЕ ИМЯ из GEO_LOCATION, ГДЕ MODIFY_ON МЕЖДУ SYSDATE() - ИНТЕРВАЛ 2 ЧАСА И SYSDATE ()