Datum eingrenzen

hi

ich hab in einer tabelle ne spalte mit daten (mehrzahl von datum :wink:. die spalte ist vom typ datetime. nennen wir sie „zeit“

jetzt will ich alle zeilen haben, dessen datum innerhalb jetzt und der letzen x stunden liegen. x wird dann via PHP gesetzt
das ergebnis sollte nach datum sortiert sein (je länger her, je weiter unten).

ich hab mich ma schlau gemacht und mir auf mysql.de in der doku mir die datums und zeitfunktionen angeschaut.
nur raff ich da gar nix. das is irgendwie total kompliziert. ich hab dann versucht mir n query zusammenzubaun (wie gesagt statt x lade ich ne variable mit php):

SELECT * FROM usertab WHERE DATE_SUB(CURDATE(),INTERVAL x HOUR) > zeit;

nur funktionierts nicht richtig. er zeigt mir einfach alle einträge an. weiß jemand wie es richtig geht?

Moin,

probier mal ob da die Oracle-Syntax auch funktioniert:

SELECT \* FROM usertab WHERE zeit BETWEEN SYSDATE-((1/24)\*2) AND SYSDATE

Für die 2 kannste dann die Variable einsetzen. Ggfls. musst Du SYSDATE durch CURDATE() ersetzen. Ob CURDATE() auch in Tagen rechtnet wie Sysdate unter Oracle, weiß ich net.

Gruß
Andreas

Hallo,

vielleicht funktioniert ja die DB2-Syntax:

SELECT xxx
FROM yyy
WHERE zzz [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]