Name

MONTHNAME()

Synopsis

MONTHNAME(date)

This function returns the name of the month for the date provided. As of version 5.1.15 of MySQL, the lc_time_names system variable is used to determine the actual set of names to use. Use the SET statement to change this variable. See the MySQL documentation page on MySQL Server Locale Support (http://dev.mysql.com/doc/refman/5.1/en/locale-support.html) for a list of locale values available for time names. Here is an example:

SELECT appointment AS 'Appointment',
MONTHNAME(appointment) AS 'Month of Appointment'
FROM appointments
WHERE client_id = '8302'
AND appointment > NOW( );

+-------------+----------------------+
| Appointment | Month of Appointment |
+-------------+----------------------+
| 2008-03-15  | March                | 
+-------------+----------------------+

SET lc_time_names = 'it_IT';

+-------------+----------------------+
| Appointment | Month of Appointment |
+-------------+----------------------+
| 2008-03-15  | marzo                | 
+-------------+----------------------+

In this example, the client has only one appointment after the current date, and it’s in March. After setting the lc_time_names variable to 'it_I'’ (i.e., italian, Italy), the results returned for the same SQL statement are given in Italian. You can use this function in conjunction with a function such as CONCAT() to paste the results into other text or to create a style you prefer:

SELECT CONCAT('Il tuo appuntamento è in ', MONTHNAME(appointment), '.') AS 'Reminder' FROM appointments WHERE ...

Get MySQL in a Nutshell, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.