2 Stunden zur aktuellen Zeit in MySQL hinzufügen?


175

Welches ist die gültige Syntax dieser Abfrage in MySQL?

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

Hinweis: start_time ist ein Feld der Kurstabelle

Antworten:





25

Die Funktion DATE_ADD () erledigt den Trick. (Sie können auch die Funktion ADDTIME () verwenden, wenn Sie mindestens Version 4.1.1 ausführen.)

Für Ihre Anfrage wäre dies:

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

Oder,

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

Wenn es nur Beispiele gäbe.
— TMS

Die Dokumentation enthält einige gute Beispiele (und SO ist kein Ersatz für die Dokumentation). Im Interesse dieser Frage und zukünftiger Besucher habe ich beide Syntaxen hinzugefügt.
— lc.

1

Dies wird auch funktionieren

SELECT NAME 
FROM GEO_LOCATION
WHERE MODIFY_ON BETWEEN SYSDATE() - INTERVAL 2 HOUR AND SYSDATE()
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.