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

8 maneiras de adicionar minutos a um Datetime no MariaDB


O MariaDB fornece muitas maneiras de realizar aritmética de data. Isso inclui adicionar ou subtrair um determinado número de uma determinada parte de data de um valor de data ou data e hora.

Neste artigo, apresento 8 maneiras de adicionar um ou mais minutos a um valor de data e hora no MariaDB.

O DATE_ADD() Função


O DATE_ADD() A função permite adicionar um valor a uma expressão de data ou data e hora. Isso inclui adicionar partes de tempo, como minutos.

Exemplo:
SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 MINUTE);

Resultado:
+-----------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 MINUTE) |
+-----------------------------------------------------+
| 2021-05-01 10:35:00                                 |
+-----------------------------------------------------+

Nesse caso, adicionei 35 minutos à expressão datetime. Observe que o MINUTE palavra-chave permanece não plural, independentemente de eu estar adicionando um minuto ou mais.

Veja o que acontece se eu fornecer apenas a data:
SELECT DATE_ADD('2021-05-01', INTERVAL 35 MINUTE);

Resultado:
+--------------------------------------------+
| DATE_ADD('2021-05-01', INTERVAL 35 MINUTE) |
+--------------------------------------------+
| 2021-05-01 00:35:00                        |
+--------------------------------------------+

A parte do tempo é anexada ao resultado e supõe-se que a hora inicial foi 00:00:00 .

Ao adicionar 60 minutos, podemos usar a HOUR palavra-chave se preferirmos:
SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 HOUR);

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

Obviamente, esta técnica funciona com 120 minutos, 180 e assim por diante. Basta usar o número de horas aplicável.

Você também pode usar uma unidade de data/hora composta para adicionar várias unidades. Por exemplo, se você quiser adicionar 1 hora e 30 minutos, você pode fazer isso:
SELECT 
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' HOUR_MINUTE);

Resultado:
+--------------------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' HOUR_MINUTE) |
+--------------------------------------------------------------+
| 2021-05-01 11:30:00                                          |
+--------------------------------------------------------------+

Consulte Unidades de data e hora do MariaDB para obter uma lista completa de unidades de data/hora.

O ADDDATE() Função


Outra maneira de adicionar minutos a uma expressão de data e hora é usar o comando ADDDATE() função. Esta função tem duas sintaxes:
  1. Uma sintaxe permite adicionar um número de dias a uma data, o que não é o que estamos fazendo aqui (a menos que planejemos adicionar minutos em blocos de 1.440, que é quantos minutos há em um dia).
  2. A outra sintaxe é a mesma do DATE_ADD() função acima. Ao usar esta sintaxe, ADDDATE() é um sinônimo para DATE_ADD() .

Exemplo:
SELECT ADDDATE('2021-05-01 10:00:00', INTERVAL 35 MINUTE);

Resultado:
+----------------------------------------------------+
| ADDDATE('2021-05-01 10:00:00', INTERVAL 35 MINUTE) |
+----------------------------------------------------+
| 2021-05-01 10:35:00                                |
+----------------------------------------------------+

O DATE_SUB() Função


O DATE_SUB() função permite subtrair um valor para uma expressão de data/data e hora. No entanto, se você fornecer um valor negativo para subtrair, ele acaba sendo adicionado para a data/hora.

Exemplo:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 MINUTE);

Resultado:
+------------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 MINUTE) |
+------------------------------------------------------+
| 2021-05-01 10:35:00                                  |
+------------------------------------------------------+

O SUBDATE() Função


O SUBDATE() função é sinônimo de DATE_SUB() ao usar a sintaxe a seguir.

Exemplo:
SELECT SUBDATE('2021-05-01 10:00:00', INTERVAL -35 MINUTE);

Resultado:
+-----------------------------------------------------+
| SUBDATE('2021-05-01 10:00:00', INTERVAL -35 MINUTE) |
+-----------------------------------------------------+
| 2021-05-01 10:35:00                                 |
+-----------------------------------------------------+

O + Operador


Outra opção é usar o + operador.

O + operador é usado para realizar a adição, e podemos usá-lo em datas, juntamente com a unidade de data/hora aplicável para adicionar um certo número de minutos à nossa data.

Exemplo:
SELECT '2021-05-01 10:00:00' + INTERVAL 35 MINUTE;

Resultado:
+--------------------------------------------+
| '2021-05-01 10:00:00' + INTERVAL 35 MINUTE |
+--------------------------------------------+
| 2021-05-01 10:35:00                        |
+--------------------------------------------+

O - Operador


O - pode ser usado para subtrair um valor de uma data. Mas se for usado para subtrair um número negativo, o resultado será um valor positivo sendo adicionado à data:
SELECT '2021-05-01 10:00:00' - INTERVAL -35 MINUTE;

Resultado:
+---------------------------------------------+
| '2021-05-01 10:00:00' - INTERVAL -35 MINUTE |
+---------------------------------------------+
| 2021-05-01 10:35:00                         |
+---------------------------------------------+

O ADDTIME() Função


Você pode usar o ADDTIME() função para adicionar um número de minutos a uma expressão de data e hora.

Exemplo:
SELECT ADDTIME('2021-05-01 10:00:00', '00:30:00');

Resultado:
+--------------------------------------------+
| ADDTIME('2021-05-01 10:00:00', '00:30:00') |
+--------------------------------------------+
| 2021-05-01 10:30:00                        |
+--------------------------------------------+

Um benefício desta função é que você também pode alterar as outras unidades de tempo, como horas, segundos, etc.

O SUBTIME() Função


Você pode alternar e usar SUBTIME() com um valor negativo se assim o desejar:
SELECT SUBTIME('2021-05-01 10:00:00', '-00:30:00');

Resultado:
+---------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '-00:30:00') |
+---------------------------------------------+
| 2021-05-01 10:30:00                         |
+---------------------------------------------+

Outras unidades de data e hora


Os exemplos acima adicionam alguns minutos ao valor datetime, mas podemos usar as mesmas técnicas para adicionar qualquer unidade de data/hora. Consulte Unidades de data e hora do MariaDB para obter uma lista completa de unidades de data/hora que podem ser usadas com as funções e operadores acima.