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 .