Dodać 2 godziny do aktualnego czasu w MySQL?


176

Jaka jest prawidłowa składnia tego zapytania w MySQL?

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

uwaga: czas_początku to pole tabeli kursów

Odpowiedzi:


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

Zobacz Funkcje daty i czasu, aby dowiedzieć się więcej o manipulowaniu datą / czasem.




25

Funkcja DATE_ADD () załatwi sprawę . (Możesz także użyć funkcji ADDTIME (), jeśli używasz wersji co najmniej 4.1.1.)

W przypadku Twojego zapytania będzie to:

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

Lub,

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

Gdyby tylko były przykłady.
TMS

Dokumentacja ma kilka dobrych przykładów (a SO nie ma zastępować dokumentacji) .. Ale w interesie tego pytania i przyszłych odwiedzających, dodałem obie składnie.
lc.

1

To też zadziała

SELECT NAME 
FROM GEO_LOCATION
WHERE MODIFY_ON BETWEEN SYSDATE() - INTERVAL 2 HOUR AND SYSDATE()
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.