Detaillierte Erklärung des TIMESTAMPDIFF-Falls in MySQL

Detaillierte Erklärung des TIMESTAMPDIFF-Falls in MySQL

1. Syntax

TIMESTAMPDIFF(Einheit, Beginn, Ende); Gibt die Zeitdifferenz entsprechend der Einheit zurück. Die Datenstrukturen des übergebenen Beginns und Endes müssen nicht identisch sein. Eine kann Date und die andere DateTime sein.

2. Einheit

Zu den unterstützten Einheiten gehören:

  • MIKROSEKUNDE
  • ZWEITE
  • MINUTE
  • STUNDE
  • TAG
  • WOCHE
  • MONAT
  • QUARTAL
  • JAHR

3. Beispiel

Das folgende Beispiel ist die grundlegendste Verwendung von TIMESTAMPDIFF.

  • 3.1 Wie viele Monate liegen zwischen 01.01.2017 und 01.02.2017
SELECT TIMESTAMPDIFF(MONTH, '2017-01-01', '2017-02-01') als Ergebnis;

+--------+
| Ergebnis |
+--------+
| 1 |
+--------+
1 Zeile im Satz (0,00 Sek.)
  • 3.2 Wie viele Tage liegen zwischen dem 01.01.2017 und dem 01.02.2017?
SELECT TIMESTAMPDIFF(DAY, '2017-01-01', '2017-02-01') als Ergebnis;

+--------+
| Ergebnis |
+--------+
| 31 |
+--------+
1 Zeile im Satz (0,00 Sek.)
  • 3.3 Wie viele Minuten liegen zwischen 2017-01-01 08: 00:00 - 2017-01-01 08: 55:00
SELECT TIMESTAMPDIFF(MINUTE, '2017-01-01 08:00:00', '2017-01-01 08:55:00') Ergebnis;

+--------+
| Ergebnis |
+--------+
| 55 |
+--------+
1 Zeile im Satz (0,00 Sek.)
  • 3.4 Wie viele Minuten liegen zwischen 2017-01-01 08: 00:00 - 2017-01-01 08: 55:33
SELECT TIMESTAMPDIFF(MINUTE, '2017-01-01 08:00:00', '2017-01-01 08:55:33') Ergebnis;

+--------+
| Ergebnis |
+--------+
| 55 |
+--------+
1 Zeile im Satz (0,00 Sek.)
  • 3.5 Bei der Berechnung des DIFF für TAG und MINUTE werden der entsprechende TAG und die MINUTE direkt abgezogen.

  • 3.6 Wie wird SECOND berechnet?
SELECT TIMESTAMPDIFF(SEKUNDE, '2017-01-01 08:00:00', '2017-01-01 08:55:33') Ergebnis;

55 * 60 + 33 = 3333
+--------+
| Ergebnis |
+--------+
| 3333 |
+--------+
1 Zeile im Satz (0,00 Sek.)
  • 3.7 So finden Sie den Unterschied zwischen zwei Datumsfeldern in der Datenbank
    • 3.7.1 Erstellen einer Tabelle
      CREATE TABLE-Demo (ID INT AUTO_INCREMENT PRIMARY KEY, Startzeit DATUM NICHT NULL, Endzeit DATUM NICHT NULL);
      Abfrage OK, 0 Zeilen betroffen (0,10 Sek.)
    • 3.7.2 Daten hinzufügen
      INSERT INTO demo(Startzeit, Endzeit)
      WERTE('1983-01-01', '1990-01-01'),
      ('1983-01-01', '1989-06-06'),
      ('1983-01-01', '1985-03-02'),
      ('1983-01-01', '1992-05-05'),
      ('1983-01-01 11:12:11', '1995-12-01');
    • 3.7.3 Daten direkt abfragen
      wähle * aus Demo;
      +----+------------+------------+
      | ID | Startzeit | Endzeit |
      +----+------------+------------+
      | 1 | 01.01.1983 | 01.01.1990 |
      | 2 | 01.01.1983 | 06.06.1989 |
      | 3 | 01.01.1983 | 02.03.1985 |
      | 4 | 01.01.1983 | 05.05.1992 |
      | 5 | 01.01.1983 | 01.12.1995 |
      +----+------------+------------+
      5 Zeilen im Satz (0,00 Sek.)
    • 3.7.4 Berechnung der Dauer
      Wählen Sie *, TIMESTAMPDIFF(JAHR, Startzeit, Endzeit) als Dauer aus der Demo;
      
      +----+------------+------------+----------+
      | ID | Startzeit | Endzeit | Dauer |
      +----+------------+------------+----------+
      | 1 | 01.01.1983 | 01.01.1990 | 7 |
      | 2 | 01.01.1983 | 06.06.1989 | 6 |
      | 3 | 01.01.1983 | 02.03.1985 | 2 |
      | 4 | 01.01.1983 | 05.05.1992 | 9 |
      | 5 | 01.01.1983 | 01.12.1995 | 12 |
      +----+------------+------------+----------+
      5 Zeilen im Satz (0,00 Sek.)
    • 3.7.5 Andere Anwendungen
      select *, if(TIMESTAMPDIFF(YEAR, end_time, CURRENT_TIMESTAMP())< 26 ,'< 26','>= 26') als Ergebnis aus der Demo;
      
      +----+------------+------------+--------+
      | ID | Startzeit | Endzeit | Ergebnis |
      +----+------------+------------+--------+
      | 1 | 01.01.1983 | 01.01.1990 | >= 26 |
      | 2 | 01.01.1983 | 06.06.1989 | >= 26 |
      | 3 | 01.01.1983 | 02.03.1985 | >= 26 |
      | 4 | 01.01.1983 | 05.05.1992 | < 26 |
      | 5 | 01.01.1983 | 01.12.1995 | < 26 |
      +----+------------+------------+--------+
      5 Zeilen im Satz (0,00 Sek.)

Dies ist das Ende dieses Artikels mit der detaillierten Erklärung des TIMESTAMPDIFF-Falls in MySQL. Weitere relevante Inhalte zu TIMESTAMPDIFF in MySQL finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Verwendung der MySQL-Zeitdifferenzfunktionen TIMESTAMPDIFF und DATEDIFF
  • MySQL-Zeitdifferenzfunktionen (TIMESTAMPDIFF, DATEDIFF), Funktionen zur Berechnung von Datumsumrechnungen (date_add, day, date_format, str_to_date)
  • Praktisches MySQL + PostgreSQL Batch-Insert-Update insertOrUpdate
  • Detaillierte Verwendung der MySQL-Funktionen row_number() und over()
  • Lösung für Indexfehler, die durch implizite MySQL-Typkonvertierung verursacht werden
  • Eine kurze Diskussion darüber, ob zu viele MySQL-Datenabfragen OOM verursachen
  • Django erstellt MySQL Master-Slave, um eine Lese-/Schreibtrennung zu erreichen
  • Detaillierte Erläuterung der MySQL-Multitabellen-Joinabfrage

<<:  Beispiel für eine Nginx-Cache-Konfiguration

>>:  Dynamische Vue-Komponente

Artikel empfehlen

Einführung in Keyword-Design-Methoden im Webdesign

Häufig ignorieren wir beim Erstellen der Homepage ...

Sprechen Sie kurz über MySQL Left Join Inner Join

Vorwort Ich war kürzlich damit beschäftigt, ein K...

Tägliche Studiennotizen im HTML-Designmuster

Studiennotizen zu HTML-Entwurfsmustern Diese Woch...

HTML-Grundstruktur_Powernode Java Academy

Wenn wir lernen, Webseiten zu entwickeln, ist das...

Vue-Komponente zur Realisierung einer Karussell-Animation

In diesem Artikelbeispiel wird der spezifische Co...

MySQL 8.0.11 Installations-Tutorial unter Windows

Dieser Artikel zeichnet das Installationstutorial...

Ein Artikel, der Ihnen HTML beibringt

Wenn Sie nicht unbedingt Künstler werden möchten,...

Implementieren Sie über 24 Array-Methoden in JavaScript von Hand

Inhaltsverzeichnis 1. Traversal-Klasse 1. fürJede...

Installationsprozess der React Native-Umgebung

React-Native-Installationsprozess 1.npx react-nat...

Ändern Sie die Startzeit von Grub in Ubuntu

Die Online-Suche zum Ändern der Grub-Startzeit be...

Implementierung mehrerer Tomcat-Instanzen auf einer einzigen Maschine

1. Einleitung Zunächst müssen wir eine Frage bean...