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

Como ADDTIME() funciona no MariaDB


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'