De følgende to funktioner gør det muligt for os at få månedsnavnet fra en dato i MySQL.
MONTHNAME()
Funktion
MONTHNAME()
funktion er designet specifikt til at returnere månedens navn fra en dato. For at gøre dette skal du videregive datoen til funktionen, når du kalder den. Det fulde månedsnavn returneres.
Eksempel:
SELECT MONTHNAME('2030-10-25');
Resultat:
October
Sproget, der bruges til månedsnavnet, styres af værdien af lc_time_names
systemvariabel. Se MONTHNAME()
Eksempler på et eksempel på, hvordan dette påvirker outputtet. Se også Sådan indstilles lokaliteten for den aktuelle forbindelse i MySQL for at få flere oplysninger.
DATE_FORMAT()
Funktion
DATE_FORMAT()
funktion returnerer en given dato i et specificeret format. For at bruge denne funktion skal du angive datoen og det ønskede format, når du kalder funktionen.
Du kan returnere hele månedens navn ved at sende %M
som formatstrengen.
Eksempel:
SELECT DATE_FORMAT('2030-12-25', '%M');
Resultat:
December
Sproget, der bruges til månedsnavnet, styres af værdien af lc_time_names
systemvariabel.
Kort månedsnavn
Sender %b
til DATE_FORMAT()
funktion returnerer det korte månedsnavn.
Eksempel:
SELECT DATE_FORMAT('2030-12-25', '%b');
Resultat:
Dec
Dette kunne replikeres med MONTHNAME()
funktion ved at bruge LEFT()
for at få fat i de første 3 tegn fra månedens navn.
Eksempel:
SELECT LEFT(MONTHNAME('2030-12-25'), 3);
Resultat:
Dec
Det samme koncept kunne opnås ved at konvertere resultatet af MONTHNAME()
til en datatype på tre tegn med en funktion som CAST()
.
Men mens denne tilgang virker i en_US
, fungerer det måske ikke altid som forventet på andre sprog. For eksempel:
SET lc_time_names = 'th_TH';
SELECT
DATE_FORMAT('2030-12-25', '%b') AS "Short 1",
LEFT(MONTHNAME('2030-12-25'), 3) AS "Short 2",
MONTHNAME('2030-12-25') AS "Full";
Resultat:
+----------+-----------+-----------------------+ | Short 1 | Short 2 | Full | +----------+-----------+-----------------------+ | ธ.ค. | ธัน | ธันวาคม | +----------+-----------+-----------------------+