I MySQL, MONTHNAME()
funktion returnerar månadsnamnet från ett datum.
Till exempel om du anger ett datum 2021-12-07 , MONTHNAME()
funktion kommer att returnera december .
Syntax
Syntaxen ser ut så här:
MONTHNAME(date)
Där date
är det datumvärde som du vill att månadsnamnet ska returneras från.
Exempel
Här är ett exempel att visa.
SELECT MONTHNAME('2021-12-07') AS 'Result';
Resultat:
+----------+ | Result | +----------+ | December | +----------+
Ett databasexempel
I det här exemplet extraherar jag månadsnamnet från en kolumn när jag kör en fråga mot en databas.
USE sakila; SELECT payment_date AS 'Date/Time', MONTHNAME(payment_date) AS 'Month' FROM payment WHERE payment_id = 1;
Resultat:
+---------------------+-------+ | Date/Time | Month | +---------------------+-------+ | 2005-05-25 11:30:37 | May | +---------------------+-------+
Aktuellt datum/tid
Här är ett exempel på att extrahera månadsnamnet från aktuellt datum och tid (som returneras med NOW()
funktion).
SELECT NOW(), MONTHNAME(NOW());
Resultat:
+---------------------+------------------+ | NOW() | MONTHNAME(NOW()) | +---------------------+------------------+ | 2018-06-29 15:19:48 | June | +---------------------+------------------+
Ett annat sätt att göra detta är att använda CURDATE()
funktion, som endast returnerar datumet (men inte tiden).
SELECT CURDATE(), MONTHNAME(CURDATE());
Resultat:
+------------+----------------------+ | CURDATE() | MONTHNAME(CURDATE()) | +------------+----------------------+ | 2018-06-29 | June | +------------+----------------------+
Lokal
Språket som används för månadsnamnet styrs av lc_time_names
systemvariabel. Här är ett exempel på att ändra värdet på den variabeln och sedan köra MONTHNAME()
igen.
SET lc_time_names = 'es_CL'; SELECT MONTHNAME('2021-12-07') AS 'Result';
Resultat:
+-----------+ | Result | +-----------+ | diciembre | +-----------+
I det här exemplet ändrade jag lc_time_names
till es_CL
vilket betyder spanska – Chile .