Verwendung der MySQL-Zeitdifferenzfunktionen TIMESTAMPDIFF und DATEDIFF

Verwendung der MySQL-Zeitdifferenzfunktionen TIMESTAMPDIFF und DATEDIFF

Verwendung der Zeitdifferenzfunktionen TIMESTAMPDIFF und DATEDIFF

Beim Schreiben von SQL-Anweisungen, insbesondere gespeicherten Prozeduren, verwenden wir häufig Vergleiche und Beurteilungen von Datum und Uhrzeit. Hier ist ein Beispiel für die Verwendung dieser beiden Zeitdifferenz-Vergleichsfunktionen.

Die Funktion datediff gibt die Differenz in Tagen zurück und kann nicht auf Stunden, Minuten und Sekunden lokalisiert werden.

- 2 Tage Unterschied select datediff('2018-03-22 09:00:00', '2018-03-20 07:00:00');

Die Funktion TIMESTAMPDIFF verfügt über Parametereinstellungen und kann auf Tage (DAY), Stunden (HOUR), Minuten (MINUTE) und Sekunden (SECOND) genau sein. Sie ist flexibler zu verwenden als die Funktion datediff. Beim Vergleichen zweier Zeiten gilt: Das kleinere Mal nach vorne und das größere Mal nach hinten.

--Differenz von 1 Tag, wählen Sie TIMESTAMPDIFF(DAY, '2018-03-20 23:59:00', '2015-03-22 00:00:00');
--Der Unterschied beträgt 49 Stunden. Wählen Sie TIMESTAMPDIFF (HOUR, „2018-03-20 09:00:00“, „2018-03-22 10:00:00“);
--Die Differenz beträgt 2940 Minuten. Wählen Sie TIMESTAMPDIFF (MINUTE, „2018-03-20 09:00:00“, „2018-03-22 10:00:00“);

--Der Unterschied beträgt 176400 Sekunden. Wählen Sie TIMESTAMPDIFF (SECOND, „2018-03-20 09:00:00“, „2018-03-22 10:00:00“);

So schreiben Sie in eine gespeicherte Prozedur:

Hinweis: var_committime ist die für den Vergleich erforderliche Zeit, die im vorherigen Geschäftsvorgang ermittelt wurde.

-- Aktuelle Zeit abrufen SET var_current_time = CONCAT(CURDATE(),' ',CURTIME());
-- Zeitvergleich SET var_time_diff = TIMESTAMPDIFF(MINUTE, var_committime, var_current_time);

 
-- Stellen Sie fest, ob der nicht überprüfte Vertrag seit mehr als 48 Stunden nicht bearbeitet wurde. Wenn ja, führen Sie eine nachfolgende logische Verarbeitung durch, andernfalls verarbeiten Sie ihn nicht.
WENN (var_time_diff > 2880) DANN

-- Zugehörige Geschäftslogikverarbeitung END IF;

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • 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
  • Detaillierte Erklärung des TIMESTAMPDIFF-Falls in MySQL

<<:  Detaillierte Erklärung zum Kopieren und Sichern von Docker-Containerdaten

>>:  Benutzerdefinierte optionale Zeitkalenderkomponente von Vue

Artikel empfehlen

So konfigurieren Sie die PDFLatex-Umgebung in Docker

Technischer Hintergrund Latex ist ein unverzichtb...

Tiefes Verständnis des Mechanismus des CSS-Hintergrund-Blend-Modus

Dieser Artikel darf gerne geteilt und zusammengef...

Detaillierte Erklärung der Box-Größe in CSS3 (Content-Box und Border-Box)

Box-Größe in CSS3 (Inhaltsbox und Rahmenbox) Mit ...

Wie kann MySQL das Löschen und Weglaufen von Datenbanken wirksam verhindern?

Inhaltsverzeichnis Einstellungen für den abgesich...

VScode Remote SSH-Remote-Bearbeitung und -Debugging von Code

Die neueste Insider-Version von Visual Studio Cod...

Docker installiert ClickHouse und initialisiert den Datentest

Clickhouse-Einführung ClickHouse ist ein spalteno...

Vue+Router+Element zur Implementierung einer einfachen Navigationsleiste

Dieses Projekt teilt den spezifischen Code von Vu...

Tipps zum Erstellen von Web-Tabellenrahmen

<br />Tipps zum Erstellen von Web-Tabellenra...

SSH-Schlüsselpaare von einer oder mehreren Linux-Instanzen trennen

Schlüsselpaar trennen Trennen Sie SSH-Schlüsselpa...

Eine "klassische" Falle der MySQL UPDATE-Anweisung

Inhaltsverzeichnis 1. Problematische SQL-Anweisun...

Einige Details zu MySQL-Indizes

Vor ein paar Tagen stellte mir ein Kollege eine F...