Добавить 2 часы для текущей даты в MySQL?

Каков допустимый синтаксис этого запроса в MySQL?

SELECT * FROM courses WHERE (now() + 2 hours) > start_time

note: start_time - поле таблицы курсов

Ответ 1

SELECT * 
FROM courses 
WHERE DATE_ADD(NOW(), INTERVAL 2 HOUR) > start_time

См. Функции даты и времени для других манипуляций с датой/временем.

Ответ 3

Функция 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

Ответ 4

SELECT * FROM courses WHERE (NOW() + INTERVAL 2 HOUR) > start_time

Ответ 5

Это также сработает - SELECT NAME из GEO_LOCATION WHERE MODIFY_ON BETWEEN SYSDATE() - INTERVAL 2 HOUR AND SYSDATE()