J0hn: [MySQL] Zeit zwischen 2 Messpunkten ermitteln

Moin,
ich wollte mal wissen, wie man die Zeit zwischen zwei Messpunkten ermitteln kann. In meiner Datenbank habe ich eine Spalte Start und eine Spalte Stopp (jeweils DATETIME) und lasse die beiden "Messpunkte" mit CURRENT_TIMESTAMP() eintragen. In der dritten Spalte Delta soll nun die Zeit eingetragen werden, die seit dem Eintrag in Start bis zum Eintrag in Stopp vergangen ist.

Ich hab das Ganze schon mit delta = (CURRENT_TIMESTAMP() - start) versucht, allerdings funktioniert das (verständlicherweise) nur bedingt und funktioniert nicht wirklich zuverlässig.

  1. Moin,

    Hallo!

    Ich hab das Ganze schon mit delta = (CURRENT_TIMESTAMP() - start) versucht, allerdings funktioniert das (verständlicherweise) nur bedingt und funktioniert nicht wirklich zuverlässig.

    Was ist dagegen einzuwenden einen Timestamp mit dem Operator - (minus) vom anderen zu subtrahieren, wenn das DBMS dieses unterstützt?
    MySQL sollte das ohne Probleme schaffen.

    Da ich dein "nicht wirklich zuverlässig" nicht verstehe, schau doch mal im Manual nach weiteren Datumsfunktionen. da gibt's Z.B. sowas wie TIME_TO_SEC, UNIX_TIMESTAMP und dergleichen...
    Vielleicht wird Dir dieses weiter helfen?!

    Gruß Markus**

    1. Moin,
      Hallo!
      Ich hab das Ganze schon mit delta = (CURRENT_TIMESTAMP() - start) versucht, allerdings funktioniert das (verständlicherweise) nur bedingt und funktioniert nicht wirklich zuverlässig.

      Was ist dagegen einzuwenden einen Timestamp mit dem Operator - (minus) vom anderen zu subtrahieren, wenn das DBMS dieses unterstützt?
      MySQL sollte das ohne Probleme schaffen.

      Da ich dein "nicht wirklich zuverlässig" nicht verstehe, schau doch mal im Manual nach weiteren Datumsfunktionen. da gibt's Z.B. sowas wie TIME_TO_SEC, UNIX_TIMESTAMP und dergleichen...

      Naja, z.B. ist   2010-04-07 13:48:12 - 2010-04-07 13:29:36 = 00:00:00
      Oder 2010-04-07 13:22:52 - 2010-04-07 13:23:02 = 00:00:50
      ...
      Deswegen unzuverlässig :)

      Aber danke für die anderen Tips, ich werds mir mal anschauen!

  2. Hallo John,

    ich wollte mal wissen, wie man die Zeit zwischen zwei Messpunkten ermitteln kann. In meiner Datenbank habe ich eine Spalte Start und eine Spalte Stopp (jeweils DATETIME)

    Du solltest Dir TIMEDIFF() anschauen.

    Freundliche Grüße

    Vinzenz