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 | +---------------------+---------------------+---------------------+