Ein Artikel zum Umgang mit Mysql-Datums- und Zeitfunktionen

Ein Artikel zum Umgang mit Mysql-Datums- und Zeitfunktionen

Vorwort

Auch die Datums- und Uhrzeitfunktionen kommen in unserer täglichen Arbeit häufig zum Einsatz. In diesem Artikel werden wir hauptsächlich über die Datums- und Zeitfunktionen in MySQL sprechen. Sie sind in verschiedenen Datenbanken grundsätzlich gleich, nur einzelne Funktionen unterscheiden sich. Jeder hat eine Datenbank und wenn man auf etwas stößt, was man nicht weiß, kann man einfach nachschauen.

1. Aktuelle Uhrzeit ermitteln

1.1 Aktuelles Datum und Uhrzeit zurückgeben

1.2 Aktuelles Datum abrufen

1.3 Aktuelle Uhrzeit abrufen

1.4 Aktuelle Wochennummer abrufen

2. Konvertierung von Datums- und Uhrzeitformat

3. Datums- und Uhrzeitoperationen

3.1 Rückschaltzeit

3.2 Vorschaltzeit

3.3 Differenz zwischen zwei Daten

Der Artikel ist ziemlich lang, daher empfiehlt es sich, ihn zu speichern und langsam zu lesen.

1. Aktuelle Uhrzeit ermitteln

Unter Abrufen der aktuellen Uhrzeit versteht man das Abrufen zeitbezogener Daten zum Zeitpunkt der Programmausführung, beispielsweise Jahr, Monat, Tag, Stunde, Minute, Sekunde und andere Informationen.

1.1 Aktuelles Datum und Uhrzeit zurückgeben

Um das aktuelle Datum und die aktuelle Uhrzeit zurückzugeben, wird in ESql die Funktion now() verwendet. Schreiben Sie einfach die Funktion now() nach dem select. Der spezifische Code lautet wie folgt:

wähle jetzt()

Wenn Sie den obigen Code ausführen, erhalten Sie Informationen zu Jahr, Monat, Tag, Stunde, Minute und Sekunde für den Moment, in dem Ihr Programm ausgeführt wird, zum Beispiel: 2019-12-25 22:47:37.

1.2 Aktuelles Datum abrufen

Die vorherige Funktion now() ermittelt das aktuelle Datum und die aktuelle Uhrzeit. Manchmal benötigen wir nur den aktuellen Datumsteil und nicht den Uhrzeitteil. Ersetzen Sie zu diesem Zeitpunkt die Funktion now() durch die Funktion curdate() in SQL, um den aktuellen Datumsteil zu ermitteln. Der spezifische Code lautet wie folgt:

wähle curdate()

Durch Ausführen des obigen Codes erhalten wir den Datumsteil des aktuellen Moments: 2019-12-25

Die Funktion curdate() ermittelt direkt den Datumsteil des aktuellen Moments. Wir können auch zuerst die Funktion now() verwenden, um das aktuelle Datum und die aktuelle Uhrzeit zu ermitteln, und dann die Funktion date() verwenden, um Datum und Uhrzeit in den Datumsteil umzuwandeln. Der spezifische Code lautet wie folgt:

Datum auswählen (jetzt())

Wenn Sie den obigen Code ausführen, erhalten Sie dasselbe Ergebnis wie mit der Funktion curdate().

Wir können auch nur das Jahr im Datum abrufen, indem wir die Funktion year() verwenden. Der spezifische Code lautet wie folgt:

Jahr auswählen (jetzt())

Wenn Sie den obigen Code ausführen, ist das Endergebnis 2019.

Wir können auch nur den Monat im Datum mit der Funktion month() abrufen. Der spezifische Code lautet wie folgt:

Monat auswählen (jetzt())

Wenn Sie den obigen Code ausführen, ist das Endergebnis 12.

Wir können auch nur den Tag des Datums mit der Funktion day() abrufen. Der spezifische Code lautet wie folgt:

Tag auswählen (jetzt())

Wenn Sie den obigen Code ausführen, ist das Endergebnis 25.

1.3 Aktuelle Uhrzeit abrufen

Zusätzlich zu der Anforderung, nur das aktuelle Datum zu erhalten, besteht auch die Anforderung, nur die aktuelle Uhrzeit zu erhalten. Wenn wir nur die aktuelle Uhrzeit abrufen möchten, müssen wir nur die Funktion curdate(), die nur das aktuelle Datum abruft, durch die Funktion curtime() ersetzen. Der spezifische Code lautet wie folgt:

wähle curtime()

Durch Ausführen des obigen Codes können Sie den Zeitanteil des aktuellen Moments abrufen: 22:47:37.

Wir können auch zuerst die Funktion now() verwenden, um das aktuelle Datum und die aktuelle Uhrzeit abzurufen, und dann die Funktion time() verwenden, um Datum und Uhrzeit in den Zeitteil umzuwandeln. Der spezifische Code lautet wie folgt:

wähle Zeit (jetzt())

Wenn Sie den obigen Code ausführen, erhalten Sie dasselbe Ergebnis wie mit der Funktion curdate().

Wir können auch nur die Stunde der Zeit mit der Funktion hour() abrufen. Der spezifische Code lautet wie folgt:

Stunde auswählen (jetzt())

Wenn Sie den obigen Code ausführen, ist das Endergebnis 22.

Wir können auch nur die Minuten der Zeit mit der Funktion minute() abrufen. Der spezifische Code lautet wie folgt:

wähle Minute (jetzt ())

Durch Ausführen des obigen Codes ist das Endergebnis 47.

Wir können auch nur die Sekunden der Zeit mit der Funktion second() abrufen. Der spezifische Code lautet wie folgt:

wähle Sekunde(jetzt())

Durch Ausführen des obigen Codes ist das Endergebnis 37.

1.4 Aktuelle Wochennummer abrufen

Oben haben wir darüber gesprochen, wie man das aktuelle Datum und die aktuelle Uhrzeit erhält. In diesem Abschnitt sehen wir uns an, wie man die Wochennummer des aktuellen Moments erhält. Normalerweise teilen wir das ganze Jahr in 52 Wochen (365 Tage/7) ein, manchmal sind es auch 53 Wochen. Wenn wir die aktuelle Woche des Jahres sehen möchten, können wir die Funktion weekofyear() verwenden. Der spezifische Code lautet wie folgt:

wähle WochedesJahres(jetzt())

Wenn Sie den obigen Code ausführen, ist das Endergebnis 52.

Zusätzlich zur aktuellen Kalenderwoche des Jahres müssen wir auch den Wochentag ermitteln, der der aktuelle Tag ist. Die in SQL verwendete Funktion dayofweek(), der spezifische Code lautet wie folgt:

wähle Wochentag(jetzt())

Durch Ausführen des obigen Codes ist das Endergebnis 5. Der 25. Dezember 2019 sollte Donnerstag sein. Warum ist das Ergebnis 5? Dies liegt daran, dass die Woche in dieser Funktion am Sonntag beginnt, d. h. Sonntag entspricht 1, Montag entspricht 2 usw., sodass Donnerstag 5 entspricht.

2. Konvertierung von Datums- und Uhrzeitformat

Wir wissen, dass dasselbe Datum und dieselbe Uhrzeit auf viele verschiedene Arten ausgedrückt werden können und dass wir manchmal zwischen verschiedenen Formaten konvertieren müssen. In SQL verwenden wir die Funktion date_format(). Das Format der Funktion date_format ist wie folgt:

date_format(Datum/Uhrzeit,Format)

datetime gibt das konkrete Datum und die Uhrzeit an, die konvertiert werden sollen, und format gibt das zu konvertierende Format an. Die optionalen Formate sind wie folgt:

Thema

Format

beschreiben

Jahr

%Y

4-stelliges Jahr

Mond

%B

Monatskürzel

Mond

%M

Vollständiger englischer Name des Monats

Mond

%M

Monat 01-12

Mond

%C

Monatswert von 1 bis 12

Tag

%D

Der Tag des Monats vom 01. bis 31.

Tag

%e

Der Tag des Monats vom 1. bis 31.

Tag

%D

Verwenden Sie das Suffix th, um den Tag des Monats anzugeben

Tag

%J

Tag des Jahres von 001 bis 366

Woche

%A

Englische Abkürzung für den Wochentag

Woche

%W

Der vollständige englische Name des Wochentags

Stunde

%H

00-23 Uhr

Stunde

%H

01-12 Stunden

Punkt

%ich

Minuten von 00 bis 59

Zweite

%S

Sekunden (00-59)

Zweite

%F

Mikrosekunden

Stunden, Minuten, Sekunden

%T

Gibt die aktuelle Stunde, Minute und Sekunde im 24-Stunden-Format (hh:mm:ss) zurück.

Wählen Sie Datumsformat("2019-12-25 22:47:37","%Y-%m-%d")

Wenn Sie den obigen Code ausführen, werden das vierstellige Jahr, der Monat von 01 bis 12 und der Tag von 01 bis 31, getrennt durch -, zurückgegeben, also 2019-12-25.

Hier müssen wir auf den Unterschied zwischen 1 und 01 achten. Im Wesentlichen stellen beide 1 dar, aber die Anzeige wird etwas anders sein. Im folgenden Code ist unser ursprüngliches Datum beispielsweise 2019-1-1, aber das zurückgegebene Ergebnis ist 2019-01-01.

Wählen Sie Datumsformat("2019-1-1 22:47:37","%Y-%m-%d")
Wählen Sie Datumsformat("2019-12-25 22:47:37","%H:%i:%S")

Durch Ausführen des obigen Codes werden die Stunde von 00-23, die Minute von 00-59 und die Sekunde von 00-59 zurückgegeben, getrennt durch :, also 22:47:37.

Zusätzlich zur Funktion date_format() gibt es eine weitere Funktion extract, mit der ein einzelner Teil eines bestimmten Datums und einer bestimmten Uhrzeit zurückgegeben wird, beispielsweise Jahr, Monat, Tag, Stunde, Minute usw. Die konkrete Form lautet wie folgt:

extrahieren (Einheit aus Datum/Uhrzeit)

„datetime“ stellt ein bestimmtes Datum und eine bestimmte Uhrzeit dar und „unit“ stellt den einzelnen Teil dar, der von „datetime“ zurückgegeben werden soll. Der Einheitenwert kann wie folgt sein:

Einheit

veranschaulichen

Jahr

Jahr

Monat

Mond

Tag

Tag

Stunde

Stunde

Minute

Minute

zweite

Zweite

Woche

Wochennummer, die Nummer des Jahres

wählen
 Auszug (Jahr aus „2019-12-25 22:47:37“) als Spalte 1
 ,extract(Monat aus „2019-12-25 22:47:37“) als Spalte 2
 ,extract(Tag von „2019-12-25 22:47:37“) als Spalte 3

Durch Ausführen des obigen Codes werden Jahr, Monat und Tag in Datum und Uhrzeit ermittelt. Die spezifischen Ergebnisse sind wie folgt:

Spalte1

Spalte 2

Spalte 3

2019

12

25

3. Datums- und Uhrzeitoperationen

Manchmal müssen wir auch Berechnungen zwischen Daten durchführen. Wenn ich beispielsweise das Datum 7 Tage vor heute oder das Datum 13 Tage nach heute abrufen möchte, kann ich im Kalender nachsehen oder zählen, aber diese Methoden sind definitiv nicht die direktesten Methoden. Daher sind Vorgänge zwischen Daten erforderlich.

3.1 Rückschaltzeit

Wenn wir beispielsweise das Datum x Tage nach heute erhalten möchten, entspricht dies dem Hinzufügen von x Tagen zum heutigen Datum. Wir nennen dies einen Rückwärtsversatz. Zu diesem Zeitpunkt können wir die Funktion date_add() verwenden. Die spezifische Form lautet wie folgt:

date_add(Datum,Intervall, Anzahl, Einheit)

date stellt das aktuelle Datum oder das aktuelle Datum und die aktuelle Uhrzeit dar; interval ist ein fester Parameter; num ist das oben erwähnte x; unit stellt die Einheit dar, die Sie hinzufügen möchten, ob Sie 7 Tage, 7 Monate oder 7 Jahre zurückgehen möchten. Die optionalen Werte sind dieselben wie die optionalen Werte von unit in der Extraktionsfunktion.

wählen 
 "2019-01-01" als Spalte 1
 ,date_add("2019-01-01",Intervall 7 Jahre) als Spalte 2
 ,date_add("2019-01-01",Intervall 7 Monate) als Spalte 3
 ,date_add("2019-01-01",Intervall 7 Tage) als col4

Durch Ausführen des obigen Codes wird das Datum zurückgegeben, das 7 Jahre, 7 Monate und 7 Tage nach dem 01.01.2019 entspricht. Die spezifischen Ergebnisse sind wie folgt:

Spalte1

Spalte 2

Spalte 3

Spalte 4

01.01.2019

01.01.2026

01.08.2019

08.01.2019

wählen 
 "2019-01-01 01:01:01" als Spalte1
 ,date_add("2019-01-01 01:01:01",Intervall 7 Stunden) als Spalte2
 ,date_add("2019-01-01 01:01:01",Intervall 7 Minuten) als Spalte 3
 ,date_add("2019-01-01 01:01:01",Intervall 7 Sekunden) als Spalte 4

Durch Ausführen des obigen Codes wird das Datum zurückgegeben, das 7 Stunden, 7 Minuten und 7 Sekunden nach 2019-01-01 01:01:01 entspricht. Die spezifischen Ergebnisse sind wie folgt:

Spalte1

Spalte 2

Spalte 3

Spalte 4

01.01.2019 01:01:01

01.01.2019 08:01:01

01.01.2019 01:08:01

01.01.2019 01:01:08 Uhr

3.2 Vorwärtsschaltzeit

Wo es eine Rückwärtsabweichung gibt, wird es auch eine Vorwärtsabweichung geben. Wenn wir beispielsweise die Anzahl der Tage vor heute ermitteln möchten, entspricht dies dem Subtrahieren von x Tagen vom aktuellen Datum. Zu diesem Zeitpunkt verwenden wir die Funktion date_sub(). Die Funktionsform von date_sub ist dieselbe wie die von date_add. Das Ersetzen von date_add im obigen Code durch date_sub bedeutet eine Verschiebung nach vorne.

wählen 
 "2019-01-01" als Spalte 1
 ,date_sub("2019-01-01",Intervall 7 Jahre) als Spalte 2
 ,date_sub("2019-01-01",Intervall 7 Monate) als Spalte 3
 ,date_sub("2019-01-01",Intervall 7 Tage) als Spalte 4

Durch Ausführen des obigen Codes wird das Datum zurückgegeben, das 7 Jahre, 7 Monate und 7 Tage vor dem 01.01.2019 entspricht. Die spezifischen Ergebnisse sind wie folgt:

Spalte1

Spalte 2

Spalte 3

Spalte 4

01.01.2019

01.01.2012

01.06.2018

25.12.2018

Um die angegebene Zeit nach vorne zu verschieben, können wir zusätzlich zu date_sub weiterhin date_add verwenden, aber ersetzen Sie einfach den spezifischen Num-Wert, der hinzugefügt werden soll, durch eine negative Zahl, z. B. 7 durch -7. Der spezifische Implementierungscode lautet wie folgt:

wählen 
 "2019-01-01" als Spalte 1
 ,date_add("2019-01-01",Intervall -7 Jahre) als Spalte2
 ,date_add("2019-01-01",Intervall -7 Monate) als Spalte 3
 ,date_add("2019-01-01",Intervall -7 Tage) als Spalte 4

Die durch Ausführen des obigen Befehls erzielten Ergebnisse stimmen mit den Ergebnissen überein, die durch die Verwendung von date_sub erzielt wurden.

3.3 Differenz zwischen zwei Daten

Wir haben oben den Vorwärts- und Rückwärtsversatz besprochen. Manchmal müssen wir auch die Differenz zwischen zwei Daten ermitteln. Wir verwenden die Funktion datediff(). datediff wird verwendet, um die Anzahl der Tage zwischen zwei Daten zurückzugeben. Die Funktion hat die folgende Form:

datediff(Enddatum,Startdatum)

Wir verwenden das Enddatum, um das Startdatum abzuziehen.

Wählen Sie datediff("2019-01-07","2019-01-01")

Durch Ausführen des obigen Codes wird die Differenz in Tagen zwischen dem 07.01.2019 und dem 01.01.2019 zurückgegeben, nämlich 6.

Sie können auch ansehen:

Wie ist die Ausführungsreihenfolge von SQL?

Dies ist das Ende dieses Artikels über MySQL-Datums- und Zeitfunktionen. Weitere Informationen zu MySQL-Datums- und Zeitfunktionen finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Zusammenfassung der MySQL-Datums- und Zeitfunktionen (MySQL 5.X)
  • Zusammenfassung der Verwendung von MySQL-Datums- und Uhrzeitfunktionen
  • PHP Mysql Datums- und Zeitfunktionssammlung
  • mysql Datums- und Zeitfunktionen benötigen keine Hilfe
  • Wissenszusammenfassung zu MySQL-Datums- und Uhrzeitfunktionen

<<:  Auszeichnungssprache - Anker

>>:  js implementiert das Ein- und Ausblenden von Inhalten mit der Maus über die Karte

Artikel empfehlen

Lösung zur Bereinigung des Docker-Festplattenspeichers

Vor einiger Zeit stieß ich auf das Problem, dass ...

Data URI und MHTML Komplettlösung für alle Browser

Daten-URI Data URI ist ein durch RFC 2397 definie...

Erfahren Sie mehr über den MySQL-Ausführungsplan

Inhaltsverzeichnis 1. Einführung in den Implement...

Beispielerklärung für langsame MySQL-Abfragen und -Protokolle

1. Einleitung Durch Aktivieren des Slow Query Log...

Beispiel für das Schreiben von mobilem H5 zum Aufrufen einer APP (IOS, Android)

iOS 1. URL-Schema Diese Lösung ist grundsätzlich ...

Eine einfache Methode zum Ändern der Größe hochgeladener Nginx-Dateien

Originallink: https://vien.tech/article/138 Vorwo...

So erhalten Sie den tatsächlichen Pfad des aktuellen Skripts in Linux

1. Holen Sie sich den tatsächlichen Pfad des aktu...

So richten Sie die Verwendung der chinesischen Eingabemethode in Ubuntu 18.04 ein

In der neuesten Version von Ubuntu müssen Benutze...