MySQL-Datumsfunktionen und Datumskonvertierungs- und -formatierungsfunktionen

MySQL-Datumsfunktionen und Datumskonvertierungs- und -formatierungsfunktionen

MySQL ist eine kostenlose relationale Datenbank mit einer riesigen Benutzerbasis. Dieser Artikel listet die häufig verwendeten Datumsfunktionen sowie die Datumskonvertierungs- und -formatierungsfunktionen in MySQL auf.

1. WOCHENTAG (Datum)

Wählen Sie DAYOFWEEK('2016-01-16') aus. 
Wählen Sie DAYOFWEEK('2016-01-16 00:00:00')
-> 7 (gibt den Wochentag des Datums zurück, denken Sie daran: Sonntag = 1, Montag = 2, ... Samstag = 7)

2. WOCHENTAG(Datum)

WOCHENTAG AUSWÄHLEN('2016-01-16') 
WOCHENTAG AUSWÄHLEN('2016-01-16 00:00:00')

-> 5 (gibt an, dass das zurückgegebene Datum die fortlaufende Nummer der Woche ist. Im westlichen Kalender beginnt die Woche normalerweise am Sonntag und beginnt mit 0 zu zählen, also denken Sie daran: 0=Montag, 1=Dienstag, ... 5=Samstag)

3. DAYOFMONTH(Datum)

Wählen Sie DAYOFMONTH('2016-01-16') aus. 
Wählen Sie DAYOFMONTH('2016-01-16 00:00:00')
-> 16 (gibt den Tag des Monats an, der zurückgegeben werden soll, 1 für den 1., …, 31 für den 31.)

4. TAG DES JAHRES (Datum)

Wählen Sie DAYOFYEAR('2016-03-31') aus. 
Wählen Sie DAYOFYEAR('2016-03-31 00:00:00')
-> 91 (gibt den Tag des Jahres an, der zurückgegeben werden soll, 01.01 gibt 1 zurück, …, 12.31 gibt 365 zurück)

5. MONAT(Datum)

MONAT AUSWÄHLEN('2016-01-16') 
MONAT AUSWÄHLEN('2016-01-16 00:00:00')
-> 1 (gibt den Monat des Jahres an, in dem das zurückgegebene Datum liegt. Wenn es Januar ist, wird 1 zurückgegeben, ..., und wenn es Dezember ist, wird 12 zurückgegeben)

6. DAYNAME(Datum)

Wählen Sie Tagname ('2016-01-16') 
Wählen Sie Tagname ('2016-01-16 00:00:00')
-> Samstag (gibt an, dass das zurückgegebene Datum der vollständige englische Name des Wochentags ist)

7. MONATSNAME(Datum)

Monatsnamen auswählen('2016-01-16') 
Monatsnamen auswählen('2016-01-16 00:00:00')
-> Januar (zeigt an, dass das zurückgegebene Datum der englische Name des Monats im Jahr ist)

8. QUARTAL (Datum)

QUARTAL AUSWÄHLEN('2016-01-16') 
QUARTAL AUSWÄHLEN('2016-01-16 00:00:00')
-> 1 (gibt das Quartal des Jahres an, in dem das Datum zurückgegeben wird, und gibt 1, 2, 3, 4 zurück)

9. WOCHE(Datum, Index)

Woche auswählen('2016-01-03') 
Woche auswählen('2016-01-03', 0) 
Woche auswählen('2016-01-03', 1)
-> 1 (Diese Funktion gibt die Wochennummer von date in einem Jahr zurück. date(01.03) ist Sonntag. Standardmäßig ist Sonntag der erste Tag der Woche. Die Funktion gibt hier auf zwei Arten 1 zurück: 1. Gibt 0 für die erste Woche zurück, 1 für die zweite Woche, …. 2. Zählt ab der vollen Woche des Jahres, gibt 1 für die erste Woche zurück, 2 für die zweite Woche, … und 53 für die letzte Woche)
-> 1 (der Standardindex von week() ist 0. Das Ergebnis ist also das gleiche wie oben)
-> 0 (Wenn der Index 1 ist, bedeutet dies, dass der erste Tag der Woche Montag ist, also ist Montag der 4. der Starttag der zweiten Woche)

10. JAHR(Datum)

JAHR AUSWÄHLEN('70-01-16') 
JAHR AUSWÄHLEN('2070-01-16') 
JAHR AUSWÄHLEN('69-01-16 00:00:00')
-> 1970 (stellt das 4-stellige Jahr des zurückgegebenen Datums dar)
-> 2070 
-> 1969

Beachten Sie: Wenn das Jahr nur zwei Ziffern lang ist, verwendet der automatische Vervollständigungsmechanismus das Standarddatum 01.01.1970 als Grenze und vervollständigt 19 für Jahre >= 70 und 20 für Jahre < 70.

11. STUNDE (Uhrzeit)

Stunde auswählen('11:22:33') 
STUNDE AUSWÄHLEN('2016-01-16 11:22:33')
-> 11
-> 11

Gibt den Stundenwert des Datums oder der Uhrzeit zurück, Wertebereich (0-23)

12. MINUTE (Zeit)

MINUTE AUSWÄHLEN('11:22:33') 
MINUTE AUSWÄHLEN('2016-01-16 11:44:33')
-> 22
-> 44

Gibt den Minutenwert der Zeit zurück, Wertebereich (0-59)

13. SEKUNDE (Zeit)

WÄHLEN SIE ZWEITE('11:22:33') 
ZWEITE AUSWÄHLEN('2016-01-16 11:44:22')
-> 33
-> 22

Gibt den Minutenwert der Zeit zurück, Wertebereich (0-59)

14. PERIOD_ADD (Monat, hinzufügen)

Wählen Sie Periode_add(1601,2) 
Wählen Sie Periode_add(191602,3) 
Wählen Sie Periode_add(191602,-3)
-> 201603
-> 191605
-> 191511

Diese Funktion gibt das Ergebnis der Addition oder Subtraktion des Monats zurück. Das Monatsformat ist jjmm oder jjjjmm. Das zurückgegebene Ergebnis ist im Format jjjjmm. Add kann negative Werte übergeben.

15. PERIOD_DIFF(Monatsbeginn, Monatsende)

Wählen Sie Periodendifferenz (1601,1603) aus. 
Wählen Sie Periodendifferenz (191602,191607) aus. 
Wählen Sie Periodendifferenz (1916-02,1916-07) aus. 
Wählen Sie Periodendifferenz (1602,9002) aus.
-> -2
-> -5
-> 5
-> 312

Diese Funktion gibt die Anzahl der Monate zwischen Monatsanfang und Monatsende zurück.

16. DATE_ADD(Datum, INTERVAL-Zahlentyp), dasselbe wie ADDDATE()

SELECT DATE_ADD("2015-12-31 23:59:59",INTERVALL 1 SEKUNDE) 
SELECT DATE_ADD("2015-12-31 23:59:59",INTERVALL 1 TAG) 
SELECT DATE_ADD(„2015-12-31 23:59:59“, INTERVALL „1:1“ MINUTE_SEKUNDE) 
SELECT DATE_ADD(„2016-01-01 00:00:00“, INTERVALL „-1 10“ TAG_STUNDE)
-> 01.01.2016 00:00:00
-> 01.01.2016 23:59:59
-> 01.01.2016 00:01:00
-> 30.12.2015 14:00:00

DATE_ADD() und ADDDATE() geben das Ergebnis von Datumsoperationen zurück

1. Das Datumsformat kann „15-12-31“, „15-12-31 23:59:59“ oder „2015-12-31 23:59:59“ sein. Wenn der Parameter „date“ im Datumsformat vorliegt, wird das Ergebnis im Datumsformat zurückgegeben. Wenn der Parameter „date“ im Datums-/Uhrzeitformat vorliegt, wird das Ergebnis im Datums-/Uhrzeitformat zurückgegeben.

2. Typformat:
SEKUNDE Sekunden
MINUTE MinutenMINUTE
STUNDE ZEIT STUNDEN
TAG TAGE
MONAT MONATE
JAHR JAHRE
MINUTE_SECOND Minuten und Sekunden „MINUTES:SECONDS“
HOUR_MINUTE Stunden und Minuten „STUNDEN:MINUTEN“
DAY_HOUR Tage und Stunden "TAGE STUNDEN"
YEAR_MONTH Jahr und Monat „YEARS-MONTHS“
HOUR_SECOND Stunden, Minuten, „STUNDEN:MINUTEN:SEKUNDEN“
DAY_MINUTE Tage, Stunden, Minuten „TAGE STUNDEN:MINUTEN“
DAY_SECOND Tage, Stunden, Minuten, Sekunden „TAGE STUNDEN:MINUTEN:SEKUNDEN“


3. Wenn Sie keine Funktionen verwenden, können Sie auch die Operatoren „+“ und „-“ verwenden. Beispiele hierfür sind wie folgt:

WÄHLEN SIE „2016-01-01“ - INTERVALL 1 SEKUNDE 
Wählen Sie „2016-01-01“ – Intervall 1 Tag 
SELECT '2016-12-31 23:59:59' + INTERVALL 1 SEKUNDE 
SELECT '2016-12-31 23:59:59' + INTERVALL "1:1" MINUTE_SEKUNDE

Widerrufsfolgen:

-> 31.12.2015 23:59:59
-> 31.12.2015
-> 01.01.2017 00:00:00
-> 01.01.2017 00:01:00

17. DATE_SUB(Datum, INTERVAL-Zahlentyp), dasselbe wie SUBDATE()

Die Verwendung ist ähnlich wie bei DATE_ADD() und ADDDATE(), das eine ist Addition und das andere ist Subtraktion. Bei der Verwendung beziehen Sie sich auf 16 Uhr. Für die spezifische Verwendung beziehen Sie sich bitte auf DATE_ADD() und ADDDATE().

18. TO_DAYS(Datum)

Wählen Sie TO_DAYS('2016-01-16') aus. 
Wählen Sie TO_DAYS('20160116') aus. 
Wählen Sie TO_DAYS('160116') aus.
-> 736344
-> 736344
-> 736344

Gibt die Gesamtzahl der Tage von 0 AD bis zum heutigen Datum zurück

19. FROM_DAYS(Datum)

AUSWÄHLEN VON_TAGEN(367)
-> 0001-01-02

Gibt den DATE-Wert der Anzahl der Tage vom Jahr 0 n. Chr. bis zur Gegenwart zurück

20. DATE_FORMAT(Datum, Format): formatiert das Datum entsprechend den Parametern.

Wählen Sie Datumsformat ('2016-01-16 22:23:00', '%W %M %Y') 
Wählen Sie Datumsformat ('2016-01-16 22:23:00', '%D %y %a %d %m %b %j') 
Wählen Sie Datumsformat ('2016-01-16 22:23:00', '%H %k %I %r %T %S %w') 
Wählen Sie Datumsformat ('2016-01-16 22:23:00', '% Y-% m-% d % H:% i:% s')
-> Samstag Januar 2016
-> 16.16 Sa 16 01 Jan 016
-> 22 22 10 22:23:00 Uhr 22:23:00 00 6
-> 16.01.2016 22:23:00

Die Formate sind unten aufgeführt:

%M Monatsname (Januar...Dezember)
%W Wochentag (Sonntag...Samstag)
%D Tag des Monats mit englischem Präfix (1., 2., 3. usw.)
%Y Jahr, Zahl, 4 Ziffern
%y Jahr, Zahl, 2 Ziffern
%a Abgekürzter Wochentag (So....Sa.)
%d Tag im Monat, Zahl (00...31)
%e Tag im Monat, Zahl (0...31)
%m Monat, Zahl (01...12)
%c Monat, Zahl (1...12)
%b abgekürzter Monatsname (Jan....Dez.)
%j Tag im Jahr (001...366)
%H Stunde (00...23)
%k Stunde (0...23)
%h Stunde (01...12)
%I Stunde (01...12)
%l Stunden (1...12)
%i Minute, Zahl (00...59)
%r Zeit, 12 Stunden (hh:mm:ss [AP]M)
%T Zeit, 24 Stunden (hh:mm:ss)
%S Sekunden (00...59)
%s Sekunden (00...59)
%p AM oder PM
%w Wochentag (0=Sonntag...6=Samstag)
%U Woche (0...52), wobei Sonntag der erste Tag der Woche ist
%u Woche (0...52), wobei Montag der erste Tag der Woche ist
%% Zeichen % )

TIME_FORMAT(Zeit,Format):
Die spezifische Verwendung ist ähnlich wie bei DATE_FORMAT(), aber TIME_FORMAT verarbeitet nur Stunden, Minuten und Sekunden (die restlichen Symbole erzeugen einen NULL-Wert oder 0).

21. Aktuelles Systemdatum abrufen

Wählen Sie CURDATE() 
AKTUELLES DATUM AUSWÄHLEN()
-> 16.01.2016
-> 16.01.2016

22. Aktuelle Systemzeit abrufen

Wählen Sie CURTIME() 
AKTUELLE ZEIT AUSWÄHLEN()
-> 17:44:22
-> 17:44:22

23. NOW(), SYSDATE(), CURRENT_TIMESTAMP(), LOCALTIME(): Ruft das aktuelle Datum und die aktuelle Uhrzeit des Systems ab

JETZT AUSWÄHLEN() 
Wählen Sie SYSDATE() aus. 
Wählen Sie CURRENT_TIMESTAMP() 
AKTUELLEN ZEITSTEMPEL AUSWÄHLEN 
Wählen Sie lokale Zeit () 
ORTSZEIT AUSWÄHLEN
-> 16.01.2016 17:44:41
-> 16.01.2016 17:44:41
-> 16.01.2016 17:44:41
-> 16.01.2016 17:44:41
-> 16.01.2016 17:44:41
-> 16.01.2016 17:44:41

24. UNIX_TIMESTAMP(Datum): Zeitstempel abrufen

SELECT UNIX_TIMESTAMP() 
Wählen Sie UNIX_TIMESTAMP('2016-01-16') 
SELECT UNIX_TIMESTAMP('2016-01-16 23:59:59')
-> 1452937627
-> 1452873600
-> 1452959999

25. FROM_UNIXTIME(unix_timestamp,format): Zeitstempel in Datum und Uhrzeit umwandeln

Wählen Sie FROM_UNIXTIME(1452959999) aus. 
Wählen Sie FROM_UNIXTIME(1452959999,'%Y-%m-%d %H:%i:%s')
-> 16.01.2016 23:59:59
-> 16.01.2016 23:59:59

26. SEC_TO_TIME(Sekunden): Konvertiert Sekunden in Zeit

WÄHLEN SIE SEC_TO_TIME (2378)
-> 00:39:38

27. TIME_TO_SEC(Zeit): Zeit in Sekunden umrechnen

Wählen Sie TIME_TO_SEC('22:23:00')
-> 2378

28. ADDTIME(Zeit, Zeiten): Zeiten zur Zeit hinzufügen

Wählen Sie ADDTIME("2015-12-31 23:59:59",'01:01:01')
-> 01.01.2016 01:01:00

29. CONVERT_TZ(date,from_tz,to_tz): Zeitzone konvertieren

Wählen Sie CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00')
-> 01.01.2004 22:00:00

30. STR_TO_DATE(Datum, Format): Konvertiert einen String in ein Datum und eine Uhrzeit im Format

Wählen Sie STR_TO_DATE('2015-01-01', '%Y-%m-%d')
-> 01.01.2015

31. LAST_DAY(Datum): Ruft den letzten Tag des Monats ab.

WÄHLEN SIE LETZTEN TAG (SYSDATE()) 
WÄHLEN SIE LETZTEN TAG('2015-02-02') 
WÄHLEN SIE LETZTEN TAG('2015-02-02 00:22:33')
-> 31.01.2016
-> 28.02.2015
-> 28.02.2015

32. MAKEDATE(Jahr, TagdesJahres): Ermittelt das Datum basierend auf den Parametern (Jahr, Tag)

WÄHLEN SIE DAS HERSTELLUNGSDATUM (2015, 32)
-> 01.02.2015

33. MAKETIME(Stunde, Minute, Sekunde): Ermittelt die Zeit entsprechend den Parametern (Stunde, Minute, Sekunde)

WÄHLE MAKETIME(12, 23, 34)
-> 12:23:34

34. YEARWEEK(date): Jahr und Woche eines Datums ermitteln

Wählen Sie YEARWEEK(SYSDATE()) 
Wählen Sie YEARWEEK('2015-01-10') 
Wählen Sie JAHRWOCHE('2015-01-10',1)
-> 201602
-> 201501
-> 201502

35. WEEKOFYEAR(date): Ermittelt die Kalenderwoche des Jahres, in der sich der aktuelle Tag befindet

Wählen Sie WEEKOFYEAR(SYSDATE()) aus. 
Wählen Sie WEEKOFYEAR('2015-01-10')
-> 2
-> 2

-> 2
-> 2

Einige häufig verwendete Zeitformatkonvertierungsfunktionen in MySQL werden wie folgt zusammengefasst

1. from_unixtime(Zeitstempel, Format):

Zeitstempel ist eine int-Zeit, z. B. 14290450779; Format ist das Konvertierungsformat, einschließlich der folgenden Formate:

%M Monatsname (Januar...Dezember)
%W Wochentag (Sonntag...Samstag)
%D Tag des Monats mit englischem Präfix (1., 2., 3. usw.)
%Y Jahr, Zahl, 4 Ziffern
%y Jahr, Zahl, 2 Ziffern
%a Abgekürzter Wochentag (So....Sa.)
%d Tag im Monat, Zahl (00...31)
%e Tag im Monat, Zahl (0...31)
%m Monat, Zahl (01...12)
%c Monat, Zahl (1...12)
%b abgekürzter Monatsname (Jan....Dez.)
%j Tag im Jahr (001...366)
%H Stunde (00...23)
%k Stunde (0...23)
%h Stunde (01...12)
%I Stunde (01...12)
%l Stunden (1...12)
%i Minute, Zahl (00...59)
%r Zeit, 12 Stunden (hh:mm:ss [AP]M)
%T Zeit, 24 Stunden (hh:mm:ss)
%S Sekunden (00...59)
%s Sekunden (00...59)
%p AM oder PM
%w Wochentag (0=Sonntag...6=Samstag)
%U Woche (0...52), wobei Sonntag der erste Tag der Woche ist
%u Woche (0...52), wobei Montag der erste Tag der Woche ist

2. unix_timestamp(Datum):

Die Funktion ist das genaue Gegenteil von from_unixtime(). Erstere wandelt den Unix-Zeitstempel in eine lesbare Zeit um, während unix_timestamp() die lesbare Zeit in einen Unix-Zeitstempel umwandelt, der beim Sortieren der in datetime gespeicherten Zeit verwendet wird. Beispielsweise ergibt unix_timestamp('2009-08-06 10:10:40') 1249524739.

Wenn unix_timestamp() aufgerufen wird, ohne Parameter zu übergeben, wird die Funktion now() aufgerufen, um automatisch die aktuelle Zeit abzurufen.

3. date_format(Datum, Format):

date_format() konvertiert einen Wert vom Typ „Datum“ oder „Datum/Uhrzeit“ in ein beliebiges Zeitformat. In einem gängigen Anwendungsszenario verfügt eine Tabelle beispielsweise über ein Feld für die Aktualisierungszeit, das im datetime-Typ gespeichert ist. Bei der Anzeige im Frontend müssen jedoch nur Jahr, Monat und Tag (xxxx-xx-xx) angezeigt werden. In diesem Fall kann date_format(date,'%Y-%m-%d ') verwendet werden, ohne dass eine Programmschleife im Ergebnissatz erforderlich ist.

Das könnte Sie auch interessieren:
  • Allgemeine Datumsvergleichs- und Berechnungsfunktionen in MySQL
  • MySQL ruft die aktuelle Datums- und Uhrzeitfunktion ab
  • Detaillierte Erklärung häufig verwendeter Datums- und Zeit-/Zahlenfunktionen in MySQL (unbedingt lesen)
  • Detaillierte Erläuterung des einzeiligen Funktionscodes des Datumstyps in MySQL

<<:  Detaillierte Erklärung von Objektliteralen in JS

>>:  Installation und Daemon-Konfiguration von Redis unter Windows und Linux

Artikel empfehlen

Analyse der Ursache des Docker-Fehlers Beendet (1) vor 4 Minuten

Docker-Fehler 1. Überprüfen Sie die Ursache Docke...

JavaScript implementiert die Klick-Umschaltfunktion

In diesem Artikelbeispiel wird der spezifische Ja...

So erstellen Sie Gitlab auf CentOS6

Vorwort Das ursprüngliche Projekt wurde im öffent...

Lösung für das Problem, dass HTML2-Canvas-SVG nicht erkannt wird

Es gibt eine neue Funktion, die das Erfassen eine...

Installieren und verwenden Sie Git und GitHub unter Ubuntu Linux

Einführung in Git Git ist eine Open-Source-Versio...

So führen Sie Befehle auf einem Remote-Linux-System über SSH aus

Manchmal müssen wir einige Befehle auf einem Remo...

Detaillierte Interpretation der Datei /etc/fstab im Linux-System

Vorwort [root@localhost ~]# cat /etc/fstab # # /e...

Tutorial zur Installation von Android Studio unter Ubuntu 19 und darunter

Aus Erfahrung weiß man, dass es eine gute Angewoh...

Zusammenfassung gängiger Fehler beim Entwurf von MySQL-Tabellen

Inhaltsverzeichnis Fehler 1: Zu viele Datenspalte...

Zusammenfassung von 28 gängigen JavaScript-String-Methoden und Verwendungstipps

Inhaltsverzeichnis Vorwort 1. Ermitteln Sie die L...