Följande två funktioner gör det möjligt för oss att få månadsnamnet från ett datum i MySQL.
MONTHNAME()
Funktion
MONTHNAME()
Funktionen är utformad speciellt för att returnera månadens namn från ett datum. För att göra detta, skicka datumet till funktionen när du anropar den. Hela månadens namn returneras.
Exempel:
SELECT MONTHNAME('2030-10-25');
Resultat:
October
Språket som används för månadsnamnet styrs av värdet för lc_time_names
systemvariabel. Se MONTHNAME()
Exempel för ett exempel på hur detta påverkar produktionen. Se även Hur man ställer in lokalen för den aktuella anslutningen i MySQL för mer information.
DATE_FORMAT()
Funktion
DATE_FORMAT()
funktion returnerar ett givet datum i ett specificerat format. För att använda denna funktion, ange datum och önskat format när du anropar funktionen.
Du kan returnera hela månadens namn genom att skicka %M
som formatsträng.
Exempel:
SELECT DATE_FORMAT('2030-12-25', '%M');
Resultat:
December
Språket som används för månadsnamnet styrs av värdet för lc_time_names
systemvariabel.
Kort månadsnamn
Skickar %b
till DATE_FORMAT()
funktion returnerar det korta månadsnamnet.
Exempel:
SELECT DATE_FORMAT('2030-12-25', '%b');
Resultat:
Dec
Detta kan replikeras med MONTHNAME()
funktion genom att använda LEFT()
för att ta de första 3 tecknen från månadsnamnet.
Exempel:
SELECT LEFT(MONTHNAME('2030-12-25'), 3);
Resultat:
Dec
Samma koncept kan uppnås genom att konvertera resultatet av MONTHNAME()
till en datatyp på tre tecken med en funktion som CAST()
.
Men även om detta tillvägagångssätt fungerar i en_US
, det kanske inte alltid fungerar som förväntat på andra språk. Till exempel:
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 | +----------+-----------+-----------------------+ | ธ.ค. | ธัน | ธันวาคม | +----------+-----------+-----------------------+