sql >> Databasteknik >  >> RDS >> MariaDB

Hur MONTHNAME() fungerar i MariaDB

I MariaDB, MONTHNAME() är en inbyggd datum- och tidsfunktion som returnerar namnet på månadsnamnet för ett givet datum.

Den accepterar ett argument, vilket är det datum du vill extrahera månadsnamnet från.

Syntax

Syntaxen ser ut så här:

MONTHNAME(date) 

Där date är datumet man hämtar månadsnamnet från.

Exempel

Här är ett exempel:

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

Resultat:

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

Språk

Språket som används för månadsnamnet styrs av värdet för lc_time_names systemvariabel.

Här är ett exempel som visar hur detta påverkar resultatet:

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

Resultat:

+------------------------+| MONTHNAME('2041-11-14') |+-------------------------+| noviembre |+-------------------------+

Och byter tillbaka till en_US , vilket är standard:

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

Resultat:

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

Här är en lista över språk som stöds av MariaDB, och så här returnerar du din egen lista över tillgängliga språk.

Och här är ett inlägg som förklarar hur du kontrollerar värdet på dina lc_time_names systemvariabel.

Datetime-värden

Det fungerar också med datetime-värden:

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

Resultat:

+------------------------------------------+| MONTHNAME('2041-01-15 10:30:45') |+---------------------------------------- -+| Januari |+----------------------------------------+

Noll månader

Att ha en noll månad i datumet returnerar null :

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

Resultat:

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

Numeriska datum

Det är också möjligt att skicka datum som ett nummer, så länge det är vettigt som ett datum.

Exempel

SELECT MONTHNAME(20201208); 

Resultat:

+----------------------------+| MÅNADNAMN(20201208) |+----------------------------+| December |+----------------------------+

Tvåsiffriga årtal är bra:

SELECT MONTHNAME(201208); 

Resultat:

+------------------------+| MONTHNAME(201208) |+------------------------+| December |+--------------------+

Men det måste vara vettigt som en dejt. Så här händer om jag ökar dagdelen till en ogiltig dag:

SELECT MONTHNAME(201299); 

Resultat:

+------------------------+| MÅNADNAMN(201299) |+------------------------+| NULL |+--------------------+

Andra avgränsare

Du kan använda andra avgränsare för datumet. MariaDB är ganska förlåtande när det kommer till avgränsare på datum. Här är några giltiga exempel:

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

Resultat (med vertikal utdata):

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

Aktuellt datum

Vi kan skicka NOW() som datumargument för att använda det aktuella datumet:

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

Resultat:

+---------------------+-----------------+| NU() | MÅNADSNAMN(NU()) |+---------------------+----------------+| 2021-05-14 10:11:16 | maj |+---------------------+------------------------+

Ogiltiga argument

När ett ogiltigt argument skickades, MONTHNAME() returnerar null :

SELECT MONTHNAME('Wrong!'); 

Resultat:

+----------------------------+| MONTHNAME('Fel!') |+---------------------------+| NULL |+----------------------------+

Argument saknas

Anropar MONTHNAME() med fel antal argument, eller utan att skicka några argument, resulterar i ett fel:

SELECT MONTHNAME(); 

Resultat:

ERROR 1582 (42000):Fel parameterantal i anropet till den ursprungliga funktionen 'MONTHNAME'

Och ett annat exempel:

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

Resultat:

ERROR 1582 (42000):Fel parameterantal i anropet till den ursprungliga funktionen 'MONTHNAME'

  1. Hur man använder FILEGROUPPROPERTY() i SQL Server

  2. Använda JDeveloper med MySQL Database och Oracle Database på AWS RDS, del 3

  3. Returnera rader i exakt den ordning de infogades

  4. Fix:Åtkomst nekad för användaren 'root'@'localhost' i MariaDB