MariaDB
 sql >> Datenbank >  >> RDS >> MariaDB

Wie MONTHNAME() in MariaDB funktioniert

In MariaDB MONTHNAME() ist eine integrierte Datums- und Uhrzeitfunktion, die den Namen des Monatsnamens für ein bestimmtes Datum zurückgibt.

Es akzeptiert ein Argument, nämlich das Datum, aus dem Sie den Monatsnamen extrahieren möchten.

Syntax

Die Syntax lautet wie folgt:

MONTHNAME(date) 

Wobei date ist das Datum, von dem der Monatsname abgerufen werden soll.

Beispiel

Hier ist ein Beispiel:

SELECT MONTHNAME('2041-11-14'); 

Ergebnis:

+-------------------------+| MONATSNAME('2041-11-14') |+--------------------+| November |+-------------------------+

Sprache

Die für den Monatsnamen verwendete Sprache wird durch den Wert von lc_time_names gesteuert Systemvariable.

Hier ist ein Beispiel, das zeigt, wie sich dies auf das Ergebnis auswirkt:

SET lc_time_names = 'es_AR';
SELECT MONTHNAME('2041-11-14'); 

Ergebnis:

+-------------------------+| MONATSNAME('2041-11-14') |+--------------------+| November |+-------------------------+

Und zurück zu en_US wechseln , was der Standardwert ist:

SET lc_time_names = 'en_US';
SELECT MONTHNAME('2041-11-14'); 

Ergebnis:

+-------------------------+| MONATSNAME('2041-11-14') |+--------------------+| November |+-------------------------+

Hier ist eine Liste der von MariaDB unterstützten Gebietsschemas, und hier erfahren Sie, wie Sie Ihre eigene Liste verfügbarer Gebietsschemas zurückgeben.

Und hier ist ein Beitrag, der erklärt, wie Sie den Wert Ihrer lc_time_names überprüfen können Systemvariable.

Datum/Uhrzeit-Werte

Es funktioniert auch mit datetime-Werten:

SELECT MONTHNAME('2041-01-15 10:30:45'); 

Ergebnis:

+----------------------------------------------+| MONATSNAME('2041-01-15 10:30:45') |+--------------------------------------------- -+| Januar |+-----------------------------------------------+

Null Monate

Wenn das Datum einen Nullmonat enthält, wird null zurückgegeben :

SELECT MONTHNAME('2030-00-00'); 

Ergebnis:

+-------------------------+| MONATSNAME('2030-00-00') |+--------------------+| NULL |+-------------------------+

Numerische Daten

Es ist auch möglich, Datumsangaben als Zahl zu übergeben, sofern es als Datum sinnvoll ist.

Beispiel

SELECT MONTHNAME(20201208); 

Ergebnis:

+---------------------+| MONATSNAME(20201208) |+---------------------+| Dezember |+---------------------+

Zweistellige Jahreszahlen sind in Ordnung:

SELECT MONTHNAME(201208); 

Ergebnis:

+-------------------+| MONATSNAME(201208) |+-------------------+| Dezember |+------------------------------+

Aber als Date muss es Sinn machen. Folgendes passiert, wenn ich den Tagesteil auf einen ungültigen Tag erhöhe:

SELECT MONTHNAME(201299); 

Ergebnis:

+-------------------+| MONATSNAME(201299) |+-------------------+| 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 
    MONTHNAME('2027/08/19'),
    MONTHNAME('2027,08,19'),
    MONTHNAME('2027:08:19'),
    MONTHNAME('2027;08!19'); 

Ergebnis (bei vertikaler Ausgabe):

MONTHNAME('2027/08/19'):AugustMONTHNAME('2027,08,19'):AugustMONTHNAME('2027:08:19'):AugustMONTHNAME('2027;08!19'):August 

Aktuelles Datum

Wir können NOW() übergeben als Datumsargument, um das aktuelle Datum zu verwenden:

SELECT 
    NOW(),
    MONTHNAME(NOW()); 

Ergebnis:

+---------------------+------------------+| JETZT() | MONATSNAME(JETZT()) |+---------------------+------------------+| 2021-05-14 10:11:16 | Mai |+---------------------+------------------+

Ungültige Argumente

Wenn ein ungültiges Argument übergeben wird, MONTHNAME() gibt null zurück :

SELECT MONTHNAME('Wrong!'); 

Ergebnis:

+---------------------+| MONATSNAME('Falsch!') |+---------------------+| NULL |+---------------------+

Fehlendes Argument

Aufruf von MONTHNAME() mit der falschen Anzahl von Argumenten oder ohne Übergabe von Argumenten führt zu einem Fehler:

SELECT MONTHNAME(); 

Ergebnis:

FEHLER 1582 (42000):Falsche Parameteranzahl im Aufruf der nativen Funktion „MONTHNAME“

Und noch ein Beispiel:

SELECT MONTHNAME('2030-01-25', '2045-05-08'); 

Ergebnis:

FEHLER 1582 (42000):Falsche Parameteranzahl im Aufruf der nativen Funktion „MONTHNAME“