Ответ 1
SELECT *
FROM courses
WHERE DATE_ADD(NOW(), INTERVAL 2 HOUR) > start_time
См. Функции даты и времени для других манипуляций с датой/временем.
Каков допустимый синтаксис этого запроса в MySQL?
SELECT * FROM courses WHERE (now() + 2 hours) > start_time
note: start_time - поле таблицы курсов
SELECT *
FROM courses
WHERE DATE_ADD(NOW(), INTERVAL 2 HOUR) > start_time
См. Функции даты и времени для других манипуляций с датой/временем.
Вам нужно DATE_SUB() ИЛИ DATE_ADD()
Функция 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
SELECT * FROM courses WHERE (NOW() + INTERVAL 2 HOUR) > start_time
Это также сработает - SELECT NAME из GEO_LOCATION WHERE MODIFY_ON BETWEEN SYSDATE() - INTERVAL 2 HOUR AND SYSDATE()