MariaDB tiene varias funciones que le permiten extraer varias partes de fecha y hora a partir de valores de fecha/hora. Puede usarlos para separar cada componente de fecha/hora en su propia columna si es necesario.
A continuación se muestran tres formas de extraer el año, el mes y el día de un valor de fecha en MariaDB.
El YEAR()
, MONTH()
y DAY()
Funciones
El YEAR()
, MONTH()
y DAY()
Las funciones extraen el año, el mes y el día de un valor de fecha o fecha y hora, respectivamente.
Aquí hay un ejemplo del uso de estas funciones para devolver cada componente de fecha en su propia columna:
SELECT
YEAR('2025-08-30') AS "Year",
MONTH('2025-08-30') AS "Month",
DAY('2025-08-30') AS "Day";
Resultado:
+------+-------+------+ | Year | Month | Day | +------+-------+------+ | 2025 | 8 | 30 | +------+-------+------+
El DAY()
función es en realidad un sinónimo de DAYOFMONTH()
, por lo que cualquiera de los dos devolverá el mismo resultado.
También hay un WEEKDAY()
función, un DAYOFWEEK()
función, un DAYOFYEAR()
función, y un DAYNAME()
función, cada una de las cuales devuelve una representación diferente del día.
Además, hay un MONTHNAME()
función que devuelve el nombre del mes, en lugar de su número.
Aquí hay otro ejemplo que incluye esas funciones:
SELECT
YEAR('2025-08-30') AS "YEAR",
MONTH('2025-08-30') AS "MONTH",
MONTHNAME('2025-08-30') AS "MONTHNAME",
DAY('2025-08-30') AS "DAY",
DAYOFMONTH('2025-08-30') AS "DAYOFMONTH",
WEEKDAY('2025-08-30') AS "WEEKDAY",
DAYOFWEEK('2025-08-30') AS "DAYOFWEEK",
DAYOFYEAR('2025-08-30') AS "DAYOFYEAR",
DAYNAME('2025-08-30') AS "DAYNAME";
Resultado (usando salida vertical):
YEAR: 2025 MONTH: 8 MONTHNAME: August DAY: 30 DAYOFMONTH: 30 WEEKDAY: 5 DAYOFWEEK: 7 DAYOFYEAR: 242 DAYNAME: Saturday
También puede usar funciones como WEEK()
para devolver el número de semana y QUARTER()
para devolver la moneda.
Ejemplo:
SELECT
WEEK('2025-08-30') AS "Week",
QUARTER('2025-08-30') AS "Quarter";
Resultado:
+------+---------+ | Week | Quarter | +------+---------+ | 34 | 3 | +------+---------+
La WEEK()
La función acepta un segundo argumento que le permite especificar el modo. Esto puede cambiar el número de semana resultante, según la fecha real. Ver cómo WEEK()
Funciona en MariaDB para obtener más información y un ejemplo.
El EXTRACT()
Función
El EXTRACT()
La función le permite extraer una unidad específica del valor de fecha/hora. Por lo tanto, puede usarlo para extraer el año, el mes y el día de la fecha (así como la semana y el trimestre si es necesario).
Ejemplo:
SELECT
EXTRACT(YEAR FROM '2023-03-12') AS "Year",
EXTRACT(MONTH FROM '2023-03-12') AS "Month",
EXTRACT(DAY FROM '2023-03-12') AS "Day",
EXTRACT(WEEK FROM '2023-03-12') AS "Week",
EXTRACT(QUARTER FROM '2023-03-12') AS "Quarter";
Resultado:
+------+-------+------+------+---------+ | Year | Month | Day | Week | Quarter | +------+-------+------+------+---------+ | 2023 | 3 | 12 | 11 | 1 | +------+-------+------+------+---------+
El DATE_FORMAT()
Función
El DATE_FORMAT()
La función le permite formatear una fecha o un valor de fecha y hora en función de una cadena de formato. La cadena de formato especifica cómo debe formatearse la fecha/hora.
Por lo tanto, podemos usar esta función para devolver el año, el mes, el día y la semana a partir de una fecha.
Ejemplo:
SELECT
DATE_FORMAT('2035-12-08', '%Y') AS "Year",
DATE_FORMAT('2035-12-08', '%m') AS "Month",
DATE_FORMAT('2035-12-08', '%d') AS "Day",
DATE_FORMAT('2035-12-08', '%U') AS "Week";
Resultado:
+------+-------+------+------+ | Year | Month | Day | Week | +------+-------+------+------+ | 2035 | 12 | 08 | 48 | +------+-------+------+------+
Hay varios especificadores de formato posibles para cada parte de la fecha. Cada parte de la fecha puede devolver un valor diferente, según el especificador de formato real proporcionado. Por ejemplo, puede devolver el nombre completo del mes usando %M
en lugar de %m
.
Consulte Cadenas de formato MariaDB para obtener una lista completa de cadenas/especificadores de formato que se pueden usar con DATE_FORMAT()
.