Aggiungere 2 ore all'ora corrente in MySQL?


177

Qual è la sintassi valida di questa query in MySQL?

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

nota: start_time è un campo di tabella dei corsi

Risposte:





25

La funzione DATE_ADD () farà il trucco. (È inoltre possibile utilizzare la funzione ADDTIME () se si esegue almeno v4.1.1.)

Per la tua query, questo sarebbe:

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

O,

SELECT * 
FROM courses 
WHERE ADDTIME(now(), '02:00:00') > start_time

Se solo ci fossero esempi.
TMS

La documentazione ha alcuni buoni esempi (e SO non intende sostituire la documentazione). Ma nell'interesse di questa domanda e dei futuri visitatori, ho aggiunto entrambe le sintassi.
lc.

1

Questo funzionerà anche

SELECT NAME 
FROM GEO_LOCATION
WHERE MODIFY_ON BETWEEN SYSDATE() - INTERVAL 2 HOUR AND SYSDATE()
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.