In diesem Handbuch schauen wir uns eine solche Funktion an. Es wird zeigen, wie die datierte Funktion in MySQL verwendet wird.
Der datiff () in SQL
Die veraltete Funktion ist als Teil der SQL -Abfragesprache verfügbar. In MySQL nimmt die Funktion datediff () zwei Daten als Eingabe an, berechnet die Differenz und gibt die Anzahl der Daten zwischen den beiden Daten zurück.
So sieht die Grundstruktur der Funktion aus.
$ Datediff (Expression_1, Expression_2)
Hier,
Der Ausdruck kann eines der folgenden Formate haben.
In Standard -SQL ist datiff () jedoch geringfügig unterschiedlich. Es unterstützt auch einen zusätzlichen Parameter, um den Datumsteil anzugeben, an dem Sie arbeiten müssen.
$ Dateiff (DATE_PART, Expression_1, Expression_2)
Hier,
DATE_PART: Beschreibt, auf welchem Datumsteil die Funktion berechnet werden sollte. Standardmäßig wird der Wert auf Tage gesetzt. Es unterstützt jedoch auch zusätzliche Werte. Diese Werte von DATE_PART haben auch geeignete Abkürzungen.
Die Funktion datediff () wird auch mit einer Reichweite beschränkt. Der berechnete Wert der Datumsdifferenz muss im Bereich der Ganzzahl liegen (-2.147.483.647 bis 2.147.483.648).
Nutzung von datediff ()
In diesem Abschnitt werden wir verschiedene Möglichkeiten für die Verwendung der Funktion überprüfen. Zur Demonstration wird ein MySQL -Server mit PhpMyAdmin zur einfachen Gebrauchsnutzung festgelegt. Schauen Sie sich diese Anleitung zum Konfigurieren von PhpMyAdmin auf Ubuntu an.
Grundnutzung
Führen Sie auf der Registerkarte SQL die folgende Abfrage aus.
$ Select datiff ('2090-10-11', '2020-10-10') als 'Ergebnis';
Wie der Ausgang zeigt, beträgt der Unterschied zwischen den angegebenen Daten 25568 Tage.
Vergleich mit einem früheren Datum
Was wäre, wenn das zweite Date später als das erste Datum wäre? Tauschen Sie die Werte aus und testen Sie sie aus.
$ Select datiff ('2020-10-10', '2090-10-11') als 'Ergebnis';
Wie wir sehen können, zeigt es immer noch 25568 Tage. Der Wert ist jedoch negativ. Es ist ein entscheidender Unterschied, um diese Funktion in einem SQL -Skript/-frage zu berücksichtigen.
DATETIME -Werte
Die Funktion von datiff () akzeptiert auch DateTime -Werte als Parameter. Es wird erwartet, dass die Zeitwerte im 24-Stunden-Format liegen.
$ SELECT DEMEDIFF ('2090-10-11 23:59:59', '2020-10-10 00:00:00') als 'result_1';
$ SELECT DEMEDIFF ('2090-10-11 00:00:00', '2020-10-10 23:59:59') als 'result_2';
Beachten Sie, dass der zusätzliche Zeitwert das Ergebnis der Berechnung nicht beeinflusst. Die Funktion konzentriert sich nur auf das Datum.
Arbeiten mit falschen Datumswerten arbeiten
Wenn die Datumswerte falsch sind, gibt datiff () den Nullwert zurück. Geben Sie ein ungültiges Datum an einen der Parameter ein, um zu präsentieren.
$ Select datiff ('2099-99-99', '2020-20-20') als "Ergebnis"
Wie erwartet ist der Rückgabewert null.
Kombinieren von datediff () mit Curdate ()
Der Funktion Curdate () gibt das aktuelle Datum der Maschine zurück. Es braucht keinen Parameter. Erfahren Sie mehr über Curdate (), um das aktuelle Datum und die aktuelle Uhrzeit in MySQL einzufügen.
Mit Curdate () können wir den Unterschied zwischen der Gegenwart und dem Zieldatum finden. Vergleichen wir zum Beispiel das aktuelle Datum mit einem Tag in der Vergangenheit.
$ Select datiff (curdate (), '1980-10-10') als "Ergebnis"
$ Select datiff ('2077-01-01', Curdate ()) als "Ergebnis"
Beachten Sie, dass es zusätzliche Funktionen gibt, z. B. current_date (), die genauso handeln wie Curdate (). In Situationen können beide austauscht werden.
$ Select datiff (current_date (), '1980-10-10') als "Ergebnis"
Verwenden von datiff () mit Tabellen
Bisher haben wir einfache Befehle datediff () implementiert, um seine Verwendungen zu demonstrieren. Es ist Zeit, es in die Tat umzusetzen.
Ich habe eine Beispieldatenbank mit verschiedenen Informationen über ein bestimmtes Unternehmen und seine Mitarbeiter zur Demonstration erhalten. Die Beispieldatenbank ist direkt von hier aus verfügbar. Wir werden den ersten und Nachnamen der Mitarbeiter aus dieser Datenbank auswählen und herausfinden, wie lange sie bis jetzt gearbeitet haben.
$ Select first_name, last_name, datiff (curdate (), Hire_date als "Tage gearbeitet" von Mitarbeitern;
Abschließende Gedanken
Dieser Leitfaden demonstriert erfolgreich die Verwendung der datiff () -Funktion in MySQL. Es berechnet die Differenz zwischen zwei Daten und gibt den Wert als Anzahl der Tage zurück. Alle Demonstrationen helfen dabei, den Arbeitsprozess der veralteten Funktion zu verstehen.
Um mehr über MySQL zu erfahren, überprüfen Sie diese Leitfäden zum Erstellen von Tabellen, zum Umbenennen von Tabellen, zum Verwalten von Benutzerkennern usw.
Happy Computing!