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

Installations- und Konfigurationsmethode des Vue-Route-Routing-Managements

einführen Vue Router ist der offizielle Routing-M...

MySQL-Ansichtsprinzipien und grundlegende Bedienungsbeispiele

Dieser Artikel veranschaulicht anhand von Beispie...

Detaillierte Erläuterung der Wissenspunkte der Linux-DMA-Schnittstelle

1. Zwei Arten der DMA-Zuordnung 1.1. Konsistente ...

Detaillierte Erklärung zur Verwendung des CSS-Zeigerereignisse-Attributs

Bei der Frontend-Entwicklung stehen wir in direkt...

Beispiel einer datenbankübergreifenden Abfrage in MySQL

Vorwort In MySQL werden datenbankübergreifende Ab...

CSS-Einstellung Div-Hintergrundbild-Implementierungscode

Das Hinzufügen einer Hintergrundbildsteuerung zu ...

HTML/CSS (der erste Leitfaden, den Anfänger unbedingt lesen sollten)

1. Die Bedeutung von Webstandards verstehen - War...

Docker-Dateispeicherpfad, Port-Mapping-Betriebsmodus ändern

So erhalten Sie den Container-Startbefehl Der Con...

Fünf praktische Tipps zur Gestaltung von Webformularen

1. Mobile Auswahl der Formulartexteingabe: Wenn i...

Verwenden von Vue3 (Teil 1) Erstellen eines Vue CLI-Projekts

Inhaltsverzeichnis 1. Offizielle Dokumentation 2....