Las siguientes dos funciones nos permiten obtener el nombre del mes de una fecha en MySQL.
El MONTHNAME()
Función
El MONTHNAME()
La función está diseñada específicamente para devolver el nombre del mes de una fecha. Para hacer esto, pase la fecha a la función cuando la llame. Se devuelve el nombre completo del mes.
Ejemplo:
SELECT MONTHNAME('2030-10-25');
Resultado:
October
El idioma utilizado para el nombre del mes está controlado por el valor de lc_time_names
variable del sistema. Ver MONTHNAME()
Ejemplos para un ejemplo de cómo esto afecta la salida. Consulte también Cómo establecer la configuración regional para la conexión actual en MySQL para obtener más información.
El DATE_FORMAT()
Función
El DATE_FORMAT()
La función devuelve una fecha dada en un formato específico. Para usar esta función, especifique la fecha y el formato deseado cuando llame a la función.
Puede devolver el nombre completo del mes pasando %M
como cadena de formato.
Ejemplo:
SELECT DATE_FORMAT('2030-12-25', '%M');
Resultado:
December
El idioma utilizado para el nombre del mes está controlado por el valor de lc_time_names
variable del sistema.
Nombre de mes corto
Pasando %b
al DATE_FORMAT()
La función devuelve el nombre corto del mes.
Ejemplo:
SELECT DATE_FORMAT('2030-12-25', '%b');
Resultado:
December
Esto podría replicarse con MONTHNAME()
función usando LEFT()
para tomar los primeros 3 caracteres del nombre del mes.
Ejemplo:
SELECT LEFT(MONTHNAME('2030-12-25'), 3);
Resultado:
December
El mismo concepto podría lograrse convirtiendo el resultado de MONTHNAME()
a un tipo de datos de tres caracteres con una función como CAST()
.
Sin embargo, aunque este enfoque funciona en en_US
, es posible que no siempre funcione como se esperaba en otros idiomas. Por ejemplo:
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";
Resultado:
+----------+-----------+-----------------------+ | Short 1 | Short 2 | Full | +----------+-----------+-----------------------+ | ธ.ค. | ธัน | ธันวาคม | +----------+-----------+-----------------------+