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


178

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

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

примечание: 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()
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.