André Laugks: Mal ´ne Frage zu SQL ... hoffentlich nicht zu OT

Beitrag lesen

Hallo!

Also, ich habe in einer MySQL-Tabelle eine Spalte mit dem Typ timestamp(14).

Der Type TIMESTAMP hat folgende Form: JJJJMMDDhhmmss

Also es ist nicht der Unix-Timestamp.

SELECT user FROM TABELLE WHERE floor((now()-zuletztaktiv)/100*60) > 1800

Als Ergebnis bekommst Du nicht die Differenz in Sekunden zurück, sondern irgendwas. Du kannst nicht einfach mal 1800 von einer Spalte mit einem Date/Time-Type abziehen. Sind das 1800 Stunden, Sekunden oder Eier?

SELECT user FROM tabelle WHERE zuletztaktive >= DATE_SUB(NOW(), INTERVAL 1800 SECOND);

Es wird die aktuelle Zeit minus 1800 Sekunden gerechnet. Ist die Zeit in 'zuletztaktive' größer oder gleich der errechneten Zeit, wird der Datensatz (Spalte 'user') angezeigt.

MfG, André Laugks
L-Andre q gmx.de