Joachim Falk: DATE Wert mit now() vergleichen

hallo,

ich hab in einer datenbank mitglieder:
feld id (int)
feld name (varchar)
...
feld letzteaktion (DATE)

nun möchte ich alle mitglieder, die innerhalb der letzten woche (7 tage) eine aktion hatten.

geht das hier nicht?

SELECT * FROM table WHERE now()-letzteAktion>x

x würde sich ja dann aus: sekunden * minuten * stunden * tage = 60*60*24*7 berechnen, irgendwie habe ich einen denkfehler. habe das gleiche script für die mitgleider benutzt die gerade online sind, dort aber nur innerhalb von 5 min. da funktioniert es, nur sobald er unterschiedliche tage/monate hat bekomme ich differenz-werte um die 2 millionen?!?

kann mir jemand hlefen?
danke für eure hilfe.

jo.f.

  1. Hallo!

    SELECT * FROM table WHERE now()-letzteAktion>x

    x würde sich ja dann aus: sekunden * minuten * stunden * tage = 60*60*24*7 berechnen, irgendwie habe ich einen denkfehler. habe das gleiche script für die mitgleider benutzt die gerade online sind, dort aber nur innerhalb von 5 min. da funktioniert es, nur sobald er unterschiedliche tage/monate hat bekomme ich differenz-werte um die 2 millionen?!?

    Am besten du schaust Dir mal folgendes an:

    Date and Time Functions http://dev.mysql.com/doc/mysql/en/Date_and_time_functions.html

    Besonders die Funktion DATE_SUB(). CURDATE() liefert das aktuelle Datum und NOW() das aktuelle Datum+Zeit.

    MfG, André Laugks

    --
    L-Andre @ gmx.de
    1. Besten Dank! Funktioniert prima! ;)