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

Abkürzung für HTML DOCTYPE

Wenn Ihr DOCTYPE wie folgt ist: Code kopieren Der ...

Detaillierte Erläuterung der Laderegeln der require-Methode in node.js

Laderegeln der Require-Methode Laden aus dem Cach...

Verwenden von System.Drawing.Common in Linux/Docker

Vorwort Nachdem das Projekt auf .net Core migrier...

Warum MySQL-Datenbanken NULL so weit wie möglich vermeiden

Viele Tabellen in MySQL enthalten Spalten, die NU...

js-Code, der den Button mit der Eingabetaste verknüpft

Code kopieren Der Code lautet wie folgt: <html...

Ein Beispiel zum Schreiben eines großen Sonnenwettersymbols in reinem CSS

Wirkung Das Wirkungsdiagramm sieht wie folgt aus ...

JavaScript implementiert einen verschiebbaren Fortschrittsbalken

In diesem Artikel wird der spezifische JavaScript...

Vue+openlayer5-Methode zum Abrufen der Koordinaten des aktuellen Mauszeigers

Vorwort: Wie erhält man die Koordinaten der aktue...

Docker exec führt mehrere Befehle aus

Der Befehl „Docker Exec“ kann Befehle in einem la...

Detaillierte Erklärung zur Verwendung von Join in Mysql

In den vorherigen Kapiteln haben wir gelernt, wie...

Probleme und Lösungen für MYSQL5.7.17-Verbindungsfehler unter MAC

Das Problem, dass MYSQL5.7.17 unter MAC keine Ver...

Reines CSS3 zum Erstellen eines Beispielcodes für Seitenwechseleffekte

Das, was ich vorher geschrieben habe, ist zu komp...