sql >> Database teknologi >  >> RDS >> MariaDB

Hvordan MONTHNAME() virker i MariaDB

I MariaDB, MONTHNAME() er en indbygget dato- og tidsfunktion, der returnerer navnet på månedsnavnet for en given dato.

Den accepterer ét argument, som er den dato, du vil udtrække månedsnavnet fra.

Syntaks

Syntaksen ser sådan ud:

MONTHNAME(date) 

Hvor date er den dato, man henter månedsnavnet fra.

Eksempel

Her er et eksempel:

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

Resultat:

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

Sprog

Sproget, der bruges til månedsnavnet, styres af værdien af lc_time_names systemvariabel.

Her er et eksempel, der viser, hvordan dette påvirker resultatet:

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

Resultat:

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

Og skifter tilbage til en_US , som er standard:

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

Resultat:

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

Her er en liste over lokaliteter, der understøttes af MariaDB, og her er, hvordan du returnerer din egen liste over tilgængelige lokaliteter.

Og her er et indlæg, der forklarer, hvordan du kontrollerer værdien af ​​dine lc_time_names systemvariabel.

Dato-tidsværdier

Det fungerer også med datetime-værdier:

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

Resultat:

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

Nul måneder

At have en nul måned i datoen returnerer null :

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

Resultat:

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

Numeriske datoer

Det er også muligt at videregive datoer som et tal, så længe det giver mening som en dato.

Eksempel

SELECT MONTHNAME(20201208); 

Resultat:

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

Tocifrede årstal er fint:

SELECT MONTHNAME(201208); 

Resultat:

+------------------------+| MONTHNAME(201208) |+------------------------+| december |+--------------------+

Men det skal give mening som en date. Her er, hvad der sker, hvis jeg øger dagsdelen til en ugyldig dag:

SELECT MONTHNAME(201299); 

Resultat:

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

Andre afgrænsninger

Du kan bruge andre skilletegn for datoen. MariaDB er ret tilgivende, når det kommer til afgrænsninger på datoer. Her er nogle gyldige eksempler:

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

Resultat (ved hjælp af lodret output):

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

Aktuel dato

Vi kan sende NOW() som dato-argument for at bruge den aktuelle dato:

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

Resultat:

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

Ugyldige argumenter

Når et ugyldigt argument blev sendt, MONTHNAME() returnerer null :

SELECT MONTHNAME('Wrong!'); 

Resultat:

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

Manglende argument

Kalder MONTHNAME() med det forkerte antal argumenter, eller uden at sende nogen argumenter, resulterer det i en fejl:

SELECT MONTHNAME(); 

Resultat:

FEJL 1582 (42000):Forkert parameterantal i kaldet til den oprindelige funktion 'MONTHNAME'

Og endnu et eksempel:

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

Resultat:

FEJL 1582 (42000):Forkert parameterantal i kaldet til den oprindelige funktion 'MONTHNAME'

  1. WEEK() Eksempler – MySQL

  2. Sådan installeres MariaDB på CentOS 8

  3. MySQL kolonner med DEFAULT NULL - stilistisk valg, eller er det?

  4. Forkert syntaks i nærheden af ​​søgeordet 'med'...forrige sætning skal afsluttes med semikolon