Добавить 2 часа к текущему времени в MySQL?

178

Какой правильный синтаксис этого запроса в MySQL?

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

примечание: start_time - это поле таблицы курсов

Эй Маунг
источник

Ответы:

29
SELECT * FROM courses WHERE (NOW() + INTERVAL 2 HOUR) > start_time
Даниэль ван Эден
источник
25

Функция DATE_ADD () сделает свое дело. (Вы также можете использовать ДОБАВЛЕНИЕ () если вы работаете по крайней мере 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
ЖХ.
источник
Если бы только были примеры.
TMS
В документации есть несколько хороших примеров (и SO не предназначена для замены документации). Но в интересах этого вопроса и будущих посетителей я добавил оба синтаксиса.
жк
1

Это тоже будет работать

SELECT NAME 
FROM GEO_LOCATION
WHERE MODIFY_ON BETWEEN SYSDATE() - INTERVAL 2 HOUR AND SYSDATE()
Soumyajit Swain
источник