No MariaDB,
ADDTIME()
é uma função de data e hora integrada que adiciona um valor a uma expressão de hora ou data e hora. Ele permite que você altere uma expressão de hora ou data e hora passando essa expressão, bem como uma expressão de hora para adicionar a essa expressão. Você pode passar um valor negativo se precisar subtrair da expressão de tempo.
Sintaxe
A sintaxe fica assim:
ADDTIME(expr1,expr2)
Onde
expr1
é uma expressão de hora ou data e hora e expr2
é uma expressão de tempo. Exemplo
Aqui está um exemplo:
SELECT ADDTIME('10:00:00', '02:30:45');
Resultado:
+---------------------------------+ | ADDTIME('10:00:00', '02:30:45') | +---------------------------------+ | 12:30:45 | +---------------------------------+
Expressões de data e hora
O primeiro argumento também pode ser uma expressão de data e hora:
SELECT ADDTIME('2021-05-01 10:00:00', '22:30:45');
Resultado:
+--------------------------------------------+ | ADDTIME('2021-05-01 10:00:00', '22:30:45') | +--------------------------------------------+ | 2021-05-02 08:30:45 | +--------------------------------------------+
Nesse caso, o tempo adicionado foi suficiente para adiantar a data para o dia seguinte, e isso se reflete no resultado.
Expressões de tempo em um formato mais flexível
O MariaDB permite a atribuição de horários em formatos mais flexíveis, como eliminar zeros à esquerda e fornecer um valor para o dia.
Portanto, podemos fazer isso:
SELECT ADDTIME('2021-05-01 10:00:00', '366 1:1:1.123456');
Resultado:
+----------------------------------------------------+ | ADDTIME('2021-05-01 10:00:00', '366 1:1:1.123456') | +----------------------------------------------------+ | 2022-05-02 11:01:01.123456 | +----------------------------------------------------+
Intervalos negativos
Fornecer um intervalo negativo para a parte do dia subtrai esse valor da hora/data/hora.
Exemplo:
SELECT ADDTIME('2021-05-01 10:00:00', '-366 1:1:1.123456');
Resultado:
+-----------------------------------------------------+ | ADDTIME('2021-05-01 10:00:00', '-366 1:1:1.123456') | +-----------------------------------------------------+ | 2020-04-30 08:58:58.876544 | +-----------------------------------------------------+
Argumentos nulos
Se algum argumento for
null
, o resultado é null
:SELECT
ADDTIME('10:00:00', null),
ADDTIME(null, '02:30:45'),
ADDTIME(null, null);
Resultado:
+---------------------------+---------------------------+---------------------+ | ADDTIME('10:00:00', null) | ADDTIME(null, '02:30:45') | ADDTIME(null, null) | +---------------------------+---------------------------+---------------------+ | NULL | NULL | NULL | +---------------------------+---------------------------+---------------------+
Argumento ausente
Chamando
ADDTIME()
com o número errado de argumentos ou sem passar nenhum argumento resulta em um erro:SELECT ADDTIME();
Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ADDTIME'