sql >> Base de Datos >  >> RDS >> MariaDB

3 formas de separar el año, el mes y el día de una fecha en MariaDB

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() .