Puedes usar el MONTH()
función en MySQL para devolver el mes a partir de una fecha.
En este contexto, el mes es un valor entre 1 y 12 (o 0 para fechas con una parte de mes cero).
Por ejemplo, si proporciona una fecha de 2018-10-07 , el MONTH()
la función devolverá 10 .
Sintaxis
La sintaxis es así:
MONTH(date)
Donde date
es el valor de la fecha desde la que desea que se devuelva el mes.
Ejemplo
Aquí hay un ejemplo para demostrarlo.
SELECT MONTH('2020-12-18') AS 'Result';
Resultado:
+--------+ | Result | +--------+ | 12 | +--------+
Si la parte del mes tiene un cero inicial, el cero inicial se omite del resultado. Ejemplo:
SELECT MONTH('2020-07-18') AS 'Result';
Resultado:
+--------+ | Result | +--------+ | 7 | +--------+
Un ejemplo de base de datos
En este ejemplo, extraigo la parte del mes de una columna cuando ejecuto una consulta en una base de datos.
USE sakila; SELECT payment_date AS 'Date/Time', MONTH(payment_date) AS 'Month' FROM payment WHERE payment_id = 1;
Resultado:
+---------------------+-------+ | Date/Time | Month | +---------------------+-------+ | 2005-05-25 11:30:37 | 5 | +---------------------+-------+
Fecha/hora actual
Aquí hay un ejemplo de cómo extraer la parte del mes de la fecha y hora actuales (que se devuelve usando NOW()
función).
SELECT NOW(), MONTH(NOW());
Resultado:
+---------------------+--------------+ | NOW() | MONTH(NOW()) | +---------------------+--------------+ | 2018-06-29 14:44:38 | 6 | +---------------------+--------------+
Otra forma de hacer esto es usar CURDATE()
función, que devuelve solo la fecha (pero no la hora).
SELECT CURDATE(), MONTH(CURDATE());
Resultado:
+------------+------------------+ | CURDATE() | MONTH(CURDATE()) | +------------+------------------+ | 2018-06-29 | 6 | +------------+------------------+