Se você precisar adicionar um ou mais segundos a um valor de data e hora no MariaDB, aqui estão 8 opções a serem consideradas.
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 horas, minutos, segundos, etc. Exemplo:
SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 SECOND); Resultado:
+-----------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 SECOND) |
+-----------------------------------------------------+
| 2021-05-01 10:00:35 |
+-----------------------------------------------------+ Nesse caso, adicionei 35 segundos à expressão datetime. Observe que o
SECOND palavra-chave permanece não plural, independentemente de eu estar adicionando um segundo ou mais. Veja o que acontece se eu fornecer apenas a data:
SELECT DATE_ADD('2021-05-01', INTERVAL 35 SECOND); Resultado:
+--------------------------------------------+
| DATE_ADD('2021-05-01', INTERVAL 35 SECOND) |
+--------------------------------------------+
| 2021-05-01 00:00:35 |
+--------------------------------------------+ A parte do tempo é anexada ao resultado e supõe-se que a hora inicial foi
00:00:00 . Ao adicionar 60 segundos, podemos usar alternativamente o
MINUTE palavra-chave se preferirmos:SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 MINUTE); Resultado:
+----------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 MINUTE) |
+----------------------------------------------------+
| 2021-05-01 10:01:00 |
+----------------------------------------------------+ Essa técnica obviamente funciona com 120 segundos, 180 e assim por diante. Basta usar o número aplicável de minutos.
Você também pode usar uma unidade de data/hora composta para adicionar várias unidades. Por exemplo, se você quiser adicionar 1 minuto e 30 segundos, você pode fazer isso:
SELECT
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' MINUTE_SECOND); Resultado:
+----------------------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' MINUTE_SECOND) |
+----------------------------------------------------------------+
| 2021-05-01 10:01:30 |
+----------------------------------------------------------------+ 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 segundos a uma expressão de data e hora é usar o
ADDDATE() função. Esta função tem duas sintaxes:- 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 segundos em blocos de 86.400, que é quantos segundos há em um dia).
- A outra sintaxe é a mesma do
DATE_ADD()função acima. Ao usar esta sintaxe,ADDDATE()é um sinônimo paraDATE_ADD().
Exemplo:
SELECT ADDDATE('2021-05-01 10:00:00', INTERVAL 35 SECOND); Resultado:
+----------------------------------------------------+
| ADDDATE('2021-05-01 10:00:00', INTERVAL 35 SECOND) |
+----------------------------------------------------+
| 2021-05-01 10:00:35 |
+----------------------------------------------------+ 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 SECOND); Resultado:
+------------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 SECOND) |
+------------------------------------------------------+
| 2021-05-01 10:00:35 |
+------------------------------------------------------+ 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 SECOND); Resultado:
+-----------------------------------------------------+
| SUBDATE('2021-05-01 10:00:00', INTERVAL -35 SECOND) |
+-----------------------------------------------------+
| 2021-05-01 10:00:35 |
+-----------------------------------------------------+ O + Operador
Outra opção é usar o
+ operador. O
+ 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 segundos à nossa expressão de data e hora. Exemplo:
SELECT '2021-05-01 10:00:00' + INTERVAL 35 SECOND; Resultado:
+--------------------------------------------+ | '2021-05-01 10:00:00' + INTERVAL 35 SECOND | +--------------------------------------------+ | 2021-05-01 10:00:35 | +--------------------------------------------+
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 à expressão de data e hora:SELECT '2021-05-01 10:00:00' - INTERVAL -35 SECOND; Resultado:
+---------------------------------------------+ | '2021-05-01 10:00:00' - INTERVAL -35 SECOND | +---------------------------------------------+ | 2021-05-01 10:00:35 | +---------------------------------------------+
O ADDTIME() Função
Você pode usar o
ADDTIME() função para adicionar um número de segundos a uma expressão de data e hora. Exemplo:
SELECT ADDTIME('2021-05-01 10:00:00', '00:00:30'); Resultado:
+--------------------------------------------+
| ADDTIME('2021-05-01 10:00:00', '00:00:30') |
+--------------------------------------------+
| 2021-05-01 10:00:30 |
+--------------------------------------------+ Um benefício desta função é que você também pode alterar as outras unidades de tempo, como horas, minutos, 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:00:30'); Resultado:
+---------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '-00:00:30') |
+---------------------------------------------+
| 2021-05-01 10:00:30 |
+---------------------------------------------+ Outras unidades de data e hora
Os exemplos acima adicionam um número de segundos 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.