Zeitberechnung (DATETIME)

Hallo,

ich habe in einer MySQL-Datenbank ein Feld namens „gespeichertezeit“ vom Typ DATETIME. Diesem Feld wird der Wert jeweils mit NOW() zugewiesen.

In einer Abfrage lasse ich mir jetzt „NOW()-gespeichertezeit AS zeitabstand“ ausgeben und frage mich aber nun, was das für seltsame Werte sind die dabei rauskommen?

Bei kleinen Werten sieht es aus wie Sekunden, aber dann wären einige der gestern gespeicherten Werte schon 10 Tage alt, irgendwie scheint das also nicht linear zu sein?

Oder mache ich einen Denkfehler bei „NOW()-gespeichertezeit“?
Wie liesse sich sonst auf MySQL-Ebene die Zeitdifferenz errechnen?

Vielen Dank und viele Grüsse,

Thorsten

Hallo,

ich habe in einer MySQL-Datenbank ein Feld namens
„gespeichertezeit“ vom Typ DATETIME. Diesem Feld wird
der Wert jeweils mit NOW() zugewiesen.

In einer Abfrage lasse ich mir jetzt „NOW()-gespeichertezeit
AS zeitabstand“ ausgeben und frage mich aber nun, was das für
seltsame Werte sind die dabei rauskommen?

Bei kleinen Werten sieht es aus wie Sekunden, aber dann wären
einige der gestern gespeicherten Werte schon 10 Tage alt,
irgendwie scheint das also nicht linear zu sein?

Oder mache ich einen Denkfehler bei „NOW()-gespeichertezeit“?
Wie liesse sich sonst auf MySQL-Ebene die Zeitdifferenz
errechnen?

http://dev.mysql.com/doc/refman/5.1/en/date-and-time…

mysql> SELECT NOW();
-> ‚2007-12-15 23:50:26‘
mysql> SELECT NOW() + 0;
-> 20071215235026.000000

das heist wenn du eine operation - ausfühst, kann das nicht wirklich was werden :smile: mit glück vielleicht doch, aber dann muss man mit DATE_FORMAT das wieder darstellen.

Die eigentliche frage ist aber was willst du ausgeben die TAGE ? die Sekunden ? , jenachdem gibt es auch noch andere möglichkeiten.

mysql> SELECT NOW();
-> ‚2007-12-15 23:50:26‘
mysql> SELECT NOW() + 0;
-> 20071215235026.000000

das heist wenn du eine operation - ausfühst, kann das nicht
wirklich was werden :smile: mit glück vielleicht doch, aber dann
muss man mit DATE_FORMAT das wieder darstellen.

für sekunden einfach
http://dev.mysql.com/doc/refman/5.1/en/date-and-time…

(unix_timestamp(NOW()) - unix_timestamp(feld))

Hallo RakonDark

(unix_timestamp(NOW()) - unix_timestamp(feld))

Super, genau das habe ich gesucht, vielen Dank!

Viele Grüsse,

Thorsten

1 Like