MariaDB
 sql >> Base de Dados >  >> RDS >> MariaDB

Unidades de data e hora MariaDB


Abaixo está uma lista completa das unidades de data e hora que podem ser usadas no MariaDB.
Unidade Descrição
MICROSECOND Microssegundos
SECOND Segundos
MINUTE Minutos
HOUR Horas
DAY Dias
WEEK Semanas
MONTH Meses
QUARTER Quartos
YEAR Anos
SECOND_MICROSECOND Segundos.Microssegundos
MINUTE_MICROSECOND Minutos.Segundos.Microsegundos
MINUTE_SECOND Minutos.Segundos
HOUR_MICROSECOND Horas.Minutos.Segundos.Microssegundos
HOUR_SECOND Horas.Minutos.Segundos
HOUR_MINUTE Horas.Minutos
DAY_MICROSECOND Dias Horas.Minutos.Segundos.Microssegundos
DAY_SECOND Dias Horas.Minutos.Segundos
DAY_MINUTE Dias Horas.Minutos
DAY_HOUR Dias Horas
YEAR_MONTH Anos-Meses

Estes podem ser usados ​​com o + e - operadores ao realizar aritmética em datas, com funções como ADDDATE() , SUBDATE() , DATE_ADD() , DATE_SUB() , EXTRACT() , TIMESTAMPADD() e TIMESTAMPDIFF() .

Eles também podem ser usados ​​no ON SCHEDULE cláusula do CREATE_EVENT() e ALTER_EVENT() funções.

As unidades de tempo que contêm um sublinhado são unidades compostas. Estes consistem em mais de uma unidade de tempo base. Essas são uma forma abreviada de especificar várias unidades de uma só vez. Cada unidade pode ser separada por qualquer caractere de pontuação.

Exemplos


Aqui está um exemplo de como adicionar uma hora a uma expressão de data e 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                     |
+-----------------------------------------+

Neste caso, usamos o + operador para realizar a adição.

Funções de data e hora


As unidades de data e hora podem ser usadas com várias funções de data.

Aqui está com o DATE_ADD() função:
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 Compostas


Aqui está um exemplo que usa unidades compostas:
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 |
+---------------------+---------------------+---------------------+

Os números inteiros podem ser separados por qualquer caractere de pontuação. Portanto, poderíamos substituir os dois pontos por pontos para obter o mesmo 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 |
+---------------------+---------------------+---------------------+