En MySQL, el MONTHNAME()
la función devuelve el nombre del mes de una fecha.
Por ejemplo, si proporciona una fecha de 2021-12-07 , el MONTHNAME()
la función devolverá diciembre .
Sintaxis
La sintaxis es así:
MONTHNAME(date)
Donde date
es el valor de la fecha desde la que desea que se devuelva el nombre del mes.
Ejemplo
Aquí hay un ejemplo para demostrarlo.
SELECT MONTHNAME('2021-12-07') AS 'Result';
Resultado:
+----------+ | Result | +----------+ | December | +----------+
Un ejemplo de base de datos
En este ejemplo, extraigo el nombre del mes de una columna cuando ejecuto una consulta en una base de datos.
USE sakila; SELECT payment_date AS 'Date/Time', MONTHNAME(payment_date) AS 'Month' FROM payment WHERE payment_id = 1;
Resultado:
+---------------------+-------+ | Date/Time | Month | +---------------------+-------+ | 2005-05-25 11:30:37 | May | +---------------------+-------+
Fecha/hora actual
Aquí hay un ejemplo de cómo extraer el nombre del mes de la fecha y hora actuales (que se devuelve usando NOW()
función).
SELECT NOW(), MONTHNAME(NOW());
Resultado:
+---------------------+------------------+ | NOW() | MONTHNAME(NOW()) | +---------------------+------------------+ | 2018-06-29 15:19:48 | June | +---------------------+------------------+
Otra forma de hacer esto es usar CURDATE()
función, que devuelve solo la fecha (pero no la hora).
SELECT CURDATE(), MONTHNAME(CURDATE());
Resultado:
+------------+----------------------+ | CURDATE() | MONTHNAME(CURDATE()) | +------------+----------------------+ | 2018-06-29 | June | +------------+----------------------+
Configuración regional
El idioma utilizado para el nombre del mes está controlado por lc_time_names
variable del sistema. Aquí hay un ejemplo de cómo cambiar el valor de esa variable y luego ejecutar MONTHNAME()
de nuevo.
SET lc_time_names = 'es_CL'; SELECT MONTHNAME('2021-12-07') AS 'Result';
Resultado:
+-----------+ | Result | +-----------+ | diciembre | +-----------+
En este ejemplo, cambié el lc_time_names
a es_CL
que significa Español – Chile .