¿Agregar 2 horas a la hora actual en MySQL?

176

¿Cuál es la sintaxis válida de esta consulta en MySQL?

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

nota: start_time es una tabla de campo de cursos

Ei Maung
fuente

Respuestas:

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

Consulte Funciones de fecha y hora para otra manipulación de fecha / hora.

Glavić
fuente
29
SELECT * FROM courses WHERE (NOW() + INTERVAL 2 HOUR) > start_time
Daniël van Eeden
fuente
25

La función DATE_ADD () hará el truco. (También puede usar la función ADDTIME () si está ejecutando al menos v4.1.1.)

Para su consulta, esto sería:

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

O,

SELECT * 
FROM courses 
WHERE ADDTIME(now(), '02:00:00') > start_time
lc.
fuente
Si tan solo hubiera ejemplos.
TMS
La documentación tiene algunos buenos ejemplos (y SO no pretende ser un reemplazo de la documentación). Pero en interés de esta pregunta y de los futuros visitantes, he agregado ambas sintaxis.
lc.
1

Esto también funcionará

SELECT NAME 
FROM GEO_LOCATION
WHERE MODIFY_ON BETWEEN SYSDATE() - INTERVAL 2 HOUR AND SYSDATE()
Soumyajit Swain
fuente