Adicionar 2 horas à hora atual no MySQL?


176

Qual é a sintaxe válida desta consulta no MySQL?

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

nota: start_time é uma tabela de campos de cursos

Respostas:





25

A função DATE_ADD () fará o truque. (Você também pode usar a função ADDTIME () se estiver executando pelo menos a v4.1.1.)

Para sua consulta, isso seria:

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

Ou,

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

Se ao menos houvesse exemplos.
TMS

A documentação possui alguns bons exemplos (e o SO não deve ser um substituto para a documentação). Mas, no interesse desta pergunta e de futuros visitantes, adicionei as duas sintaxes.
lc.

1

Isso também vai funcionar

SELECT NAME 
FROM GEO_LOCATION
WHERE MODIFY_ON BETWEEN SYSDATE() - INTERVAL 2 HOUR AND SYSDATE()
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.