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

Unidades de fecha y hora de MariaDB

A continuación se muestra una lista completa de las unidades de fecha y hora que se pueden usar en MariaDB.

Unidad Descripción
MICROSECOND Microsegundos
SECOND Segundos
MINUTE Minutos
HOUR Horas
DAY Días
WEEK Semanas
MONTH Meses
QUARTER Cuartos
YEAR Años
SECOND_MICROSECOND Segundos.Microsegundos
MINUTE_MICROSECOND Minutos.Segundos.Microsegundos
MINUTE_SECOND Minutos.Segundos
HOUR_MICROSECOND Horas.Minutos.Segundos.Microsegundos
HOUR_SECOND Horas.Minutos.Segundos
HOUR_MINUTE Horas.Minutos
DAY_MICROSECOND Días Horas.Minutos.Segundos.Microsegundos
DAY_SECOND Días Horas.Minutos.Segundos
DAY_MINUTE Días Horas.Minutos
DAY_HOUR Días Horas
YEAR_MONTH Años-Meses

Estos se pueden usar con + y - operadores al realizar operaciones aritméticas en fechas, con funciones como ADDDATE() , SUBDATE() , DATE_ADD() , DATE_SUB() , EXTRACT() , TIMESTAMPADD() y TIMESTAMPDIFF() .

También se pueden utilizar en el ON SCHEDULE cláusula del CREATE_EVENT() y ALTER_EVENT() funciones.

Las unidades de tiempo que contienen un guión bajo son unidades compuestas. Estos consisten en más de una unidad de tiempo base. Estas son una especie de forma abreviada de especificar varias unidades de una sola vez. Cada unidad puede estar separada por cualquier carácter de puntuación.

Ejemplos

Este es un ejemplo de cómo agregar una hora a una expresión de fecha y hora:

SELECT '2021-05-31 10:00:00' + INTERVAL 1 HOUR;

Resultado:

+-----------------------------------------+
| '2021-05-31 10:00:00' + INTERVAL 1 HOUR |
+-----------------------------------------+
| 2021-05-31 11:00:00                     |
+-----------------------------------------+

En este caso usamos el + operador para realizar la suma.

Funciones de fecha y hora

Las unidades de fecha y hora se pueden utilizar con varias funciones de fecha.

Aquí está con el DATE_ADD() función:

SELECT DATE_ADD('2021-05-31 10:00:00', INTERVAL 1 HOUR);

Resultado:

+--------------------------------------------------+
| DATE_ADD('2021-05-31 10:00:00', INTERVAL 1 HOUR) |
+--------------------------------------------------+
| 2021-05-31 11:00:00                              |
+--------------------------------------------------+

Unidades compuestas

Aquí hay un ejemplo que usa unidades compuestas:

SELECT 
    DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:2' YEAR_MONTH) AS "YEAR_MONTH",
    DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:25:35' HOUR_SECOND) AS "HOUR_SECOND",
    DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30:25' DAY_MINUTE) AS "DAY_MINUTE";

Resultado:

+---------------------+---------------------+---------------------+
| YEAR_MONTH          | HOUR_SECOND         | DAY_MINUTE          |
+---------------------+---------------------+---------------------+
| 2022-07-01 10:00:00 | 2021-05-01 11:25:35 | 2021-05-03 16:25:00 |
+---------------------+---------------------+---------------------+

Los números enteros pueden estar separados por cualquier carácter de puntuación. Por lo tanto, podríamos reemplazar los dos puntos con puntos para obtener el mismo resultado:

SELECT 
    DATE_ADD('2021-05-01 10:00:00', INTERVAL '1.2' YEAR_MONTH) AS "YEAR_MONTH",
    DATE_ADD('2021-05-01 10:00:00', INTERVAL '1.25.35' HOUR_SECOND) AS "HOUR_SECOND",
    DATE_ADD('2021-05-01 10:00:00', INTERVAL '1.30.25' DAY_MINUTE) AS "DAY_MINUTE";

Resultado:

+---------------------+---------------------+---------------------+
| YEAR_MONTH          | HOUR_SECOND         | DAY_MINUTE          |
+---------------------+---------------------+---------------------+
| 2022-07-01 10:00:00 | 2021-05-01 11:25:35 | 2021-05-03 16:25:00 |
+---------------------+---------------------+---------------------+