MySQL verfügt über eine Reihe verschiedener Funktionen, die es uns ermöglichen, verschiedene Datumsteile – wie Tag, Monat und Jahr – aus einem Datum zu erhalten.
Das DATE_FORMAT()
Funktion
Das DATE_FORMAT()
Funktion ist großartig, wenn Sie die Datumsteile alle in einem einzigen Feld zurückgeben möchten.
Beispiel:
SELECT DATE_FORMAT('2035-12-19', '%W, %D %M %Y');
Ergebnis:
Wednesday, 19th December 2035
Sie können auch nur die kurzen Tages- und Monatsnamen zurückgeben, wenn dies das gewünschte Ergebnis ist:
SELECT DATE_FORMAT('2035-12-19', '%a, %D %b %Y');
Ergebnis:
Wednesday, 19th December 2035
Oder Sie können die Tagesmonatszahlen zurückgeben:
SELECT DATE_FORMAT('2035-12-19', '%d/%c/%Y');
Ergebnis:
19/12/2035
Sie können bei Bedarf auch jeden Datumsteil in einem eigenen Feld zurückgeben:
SELECT
DATE_FORMAT('2035-12-19', '%d') AS Day,
DATE_FORMAT('2035-12-19', '%c') AS Month,
DATE_FORMAT('2035-12-19', '%Y') AS Year;
Ergebnis:
+------+-------+------+ | Day | Month | Year | +------+-------+------+ | 19 | 12 | 2035 | +------+-------+------+
In dieser vollständigen Liste der Formatbezeichner finden Sie einen vollständigen Überblick über die Formatbezeichner, die Sie zum Erstellen einer Formatzeichenfolge verwenden können.
DATE_FORMAT()
akzeptiert auch ein optionales locale-Argument, mit dem Sie die Sprache der Tages- und Monatsnamen angeben können. Siehe MySQL DATE_FORMAT()
Beispiele für mehr.
Der EXTRACT()
Funktion
Der EXTRACT()
Mit dieser Funktion können Sie eine bestimmte Einheit aus dem Datum extrahieren. Daher können Sie es verwenden, um Tag, Monat und Jahr (sowie andere Einheiten) aus dem Datum zu extrahieren.
Beispiel:
SELECT
EXTRACT(DAY FROM '2035-12-19') AS Day,
EXTRACT(MONTH FROM '2035-12-19') AS Month,
EXTRACT(YEAR FROM '2035-12-19') AS Year;
Ergebnis:
+------+-------+------+ | Day | Month | Year | +------+-------+------+ | 19 | 12 | 2035 | +------+-------+------+
Funktionen zur Rückgabe einer bestimmten Datumseinheit
MySQL hat auch einige spezifischere Funktionen, die eine bestimmte Datumseinheit zurückgeben.
Nachfolgend finden Sie eine Liste der Funktionen, die Tag, Monat und Jahr aus einem Datum zurückgeben.
Der DAYNAME()
Funktion
MySQL hat mehr als eine Funktion, um den Tag zurückzugeben. Dies liegt daran, dass es mehr als eine Möglichkeit gibt, den Tag darzustellen. MySQL muss wissen, ob Sie den Tagesnamen, die Nummer des Wochentags, den Tag des Monats, den Tag des Jahres usw. wollen.
Der DAYNAME()
Die Funktion gibt den Namen des Wochentags zurück:
SELECT DAYNAME('2035-12-19');
Ergebnis:
Wednesday
Der DAYOFMONTH()
Funktion
Der DAYOFMONTH()
Die Funktion gibt den Tag des Monats zurück.
Beispiel:
SELECT DAYOFMONTH('2035-12-19');
Ergebnis:
19
Der DAY()
Funktion
Der DAY()
Funktion ist eigentlich ein Synonym für DAYOFMONTH()
Funktion.
Beispiel:
SELECT DAY('2035-12-19');
Ergebnis:
19
Wie erwartet dasselbe Ergebnis wie DAYOFMONTH()
.
Der DAYOFWEEK()
Funktion
Der DAYOFWEEK()
Die Funktion gibt den Wochentagindex für das Datum zurück, wie vom ODBC-Standard angegeben (1
=Sonntag, 2
=Montag, …, 7
=Samstag).
Beispiel:
SELECT DAYOFWEEK('2035-12-19');
Ergebnis:
4
Siehe WEEKDAY()
unten für unterschiedliche Indexierung.
Der WEEKDAY()
Funktion
Der WEEKDAY()
Funktion ähnelt DAYOFWEEK()
, dass es den Wochenindex für das Datum zurückgibt. Der Unterschied besteht darin, dass eine andere Indexnummerierung verwendet wird (0
=Montag, 1
=Dienstag, … 6
=Sonntag).
Beispiel:
SELECT WEEKDAY('2035-12-19');
Ergebnis:
2
Der DAYOFYEAR()
Funktion
Das DAYOFYEAR()
Die Funktion gibt den Tag des Jahres für das Datum im Bereich 1
zurück zu 366
.
Beispiel:
SELECT DAYOFYEAR('2035-12-19');
Ergebnis:
353
Der MONTH()
Funktion
Der MONTH()
Die Funktion gibt den Monat im Bereich 1
zurück bis 12
für Januar bis Dezember oder 0
für Datumsangaben, die einen nullmonatigen Teil haben (z. B. 0000-00-00
).
Beispiel:
SELECT MONTH('2035-12-19');
Ergebnis:
12
Der MONTHNAME()
Funktion
Wie der Name schon sagt, der MONTHNAME()
Funktion gibt den Monatsnamen zurück. Die für den Namen verwendete Sprache wird durch den Wert von lc_time_names
gesteuert Systemvariable.
Beispiel:
SELECT MONTHNAME('2035-12-19');
Ergebnis:
December
Das YEAR()
Funktion
Das YEAR()
Die Funktion gibt den Jahresteil des Datums zurück.
Beispiel:
SELECT YEAR('2035-12-19');
Ergebnis:
2035