In MariaDB, MONTH()
ist eine eingebaute Datums- und Uhrzeitfunktion, die den Monat aus einem gegebenen Datumsausdruck zurückgibt.
Es akzeptiert ein Argument, nämlich das Datum, aus dem Sie den Monat extrahieren möchten.
Es gibt den Monat als Zahl im Bereich 1
zurück bis 12
für Januar bis Dezember. Wenn das Datum einen nullmonatigen Teil hat (z. B. 0000-00-00
oder 2025-00-00
), ist das Ergebnis 0
.
Syntax
Die Syntax lautet wie folgt:
MONTH(date)
Wobei date
ist der Datumsausdruck, aus dem der Monat abgerufen werden soll.
Beispiel
Hier ist ein Beispiel:
SELECT MONTH('2030-08-01');
Ergebnis:
+---------------------+| MONAT('2030-08-01') |+---------------------+| 8 |+---------------------+
Datum/Uhrzeit-Werte
Es funktioniert auch mit datetime-Werten:
SELECT MONTH('2030-08-01 10:30:45');
Ergebnis:
+------------------------------+| MONAT('2030-08-01 10:30:45') |+------------------------------+| 8 |+------------------------------+
Null Monate
Null Monate ergeben 0
.
Beispiel:
SELECT MONTH('2030-00-00');
Ergebnis:
+---------------------+| MONAT('2030-00-00') |+---------------------+| 0 |+---------------------+
Numerische Daten
Es ist auch möglich, Datumsangaben als Zahl zu übergeben, sofern es als Datum sinnvoll ist.
Beispiel
SELECT MONTH(20301125);
Ergebnis:
+----------------+| MONAT(20301125) |+----------------+| 11 |+----------------+
Oder sogar das Folgende (das eine zweistellige Jahreszahl verwendet):
SELECT MONTH(301125);
Ergebnis:
+---------------+| MONAT(301125) |+---------------+| 11 |+---------------+
Aber als Date muss es Sinn machen. Folgendes passiert, wenn ich den Tagesteil auf einen ungültigen Tag erhöhe:
SELECT MONTH(20301135);
Ergebnis:
+----------------+| MONAT(20301135) |+----------------+| NULL |+----------------+
Andere Trennzeichen
Sie können andere Trennzeichen für das Datum verwenden. MariaDB ist ziemlich nachsichtig, wenn es um Trennzeichen bei Datumsangaben geht. Hier sind einige gültige Beispiele:
SELECT
MONTH('2030/06/25'),
MONTH('2030,06,25'),
MONTH('2030:06:25'),
MONTH('2030;06!25');
Ergebnis (bei vertikaler Ausgabe):
MONAT('2030/06/25'):6MONAT('2030,06,25'):6MONTH('2030:06:25'):6MONTH('2030;06!25'):6Aktuelles Datum
Wir können
NOW()
übergeben als datetime-Argument, um das aktuelle Datum zu verwenden:SELECT NOW(), MONTH(NOW());
Ergebnis:
+---------------------+-------------+| JETZT() | MONAT(JETZT()) |+---------------------+--------------+| 2021-05-16 15:00:06 | 5 |+---------------------+--------------+Ungültige Argumente
Wenn ein ungültiges Argument übergeben wird,
MONTH()
gibtnull
zurück :SELECT MONTH('2030-65-78');
Ergebnis:
+---------------------+| MONAT('2030-65-78') |+---------------------+| NULL |+---------------------+Fehlendes Argument
Aufruf von
MONTH()
mit der falschen Anzahl von Argumenten oder ohne Übergabe von Argumenten führt zu einem Fehler:SELECT MONTH();
Ergebnis:
ERROR 1064 (42000):Sie haben einen Fehler in Ihrer SQL-Syntax; Überprüfen Sie das Handbuch, das Ihrer MariaDB-Serverversion entspricht, auf die richtige Syntax, um sie in der Nähe von ')' in Zeile 1 zu verwendenUnd noch ein Beispiel:
SELECT MONTH('2030-12-10', '2031-12-10');
Ergebnis:
ERROR 1064 (42000):Sie haben einen Fehler in Ihrer SQL-Syntax; Überprüfen Sie das Handbuch, das Ihrer MariaDB-Serverversion entspricht, auf die richtige Syntax, um sie in der Nähe von „2031-12-10“)“ in Zeile 1 zu verwenden