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

Wissen Sie, wie Sie das Flash-Wmode-Attribut in Webseiten verwenden?

Bei der Webentwicklung kann es vorkommen, dass Fl...

So zählen Sie das Datum mit Bash herunter

Sie möchten wissen, wie viele Tage es bis zu eine...

So installieren Sie MySQL und MariaDB in Docker

Beziehung zwischen MySQL und MariaDB Das Datenban...

Detailliertes Tutorial zum verteilten Betrieb von JMeter in der Docker-Umgebung

1. Erstellen Sie das Basisimage von jmeter Das Do...

So implementieren Sie Hot Deployment und Hot Start in Eclipse/Tomcat

1. Hot Deployment: Das bedeutet, das gesamte Proj...

Einige Kenntnisse über die absolute und relative Positionierung von Seitenelementen

Ab heute werde ich regelmäßig kleine Wissenspunkte...