sql >> Base de Datos >  >> RDS >> MariaDB

Cómo funciona ADDTIME() en MariaDB

En MariaDB, ADDTIME() es una función de fecha y hora incorporada que agrega una cantidad a una expresión de hora o fecha y hora.

Le permite cambiar una expresión de hora o fecha y hora pasando esa expresión, así como una expresión de tiempo para agregar a esa expresión. Puede pasar una cantidad negativa si necesita restar de la expresión de tiempo.

Sintaxis

La sintaxis es así:

ADDTIME(expr1,expr2)

Donde expr1 es una expresión de hora o fecha y hora, y expr2 es una expresión de tiempo.

Ejemplo

He aquí un ejemplo:

SELECT ADDTIME('10:00:00', '02:30:45');

Resultado:

+---------------------------------+
| ADDTIME('10:00:00', '02:30:45') |
+---------------------------------+
| 12:30:45                        |
+---------------------------------+

Expresiones de fecha y hora

El primer argumento también puede ser una expresión de fecha y 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                        |
+--------------------------------------------+

En este caso, el tiempo agregado fue suficiente para adelantar la fecha al día siguiente, y esto se refleja en el resultado.

Expresiones de tiempo en un formato más flexible

MariaDB permite la asignación de horas en formatos más flexibles, como quitar ceros a la izquierda y proporcionar un valor para el día.

Por lo tanto, podemos hacer esto:

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

Proporcionar un intervalo negativo para la parte del día resta esa cantidad de la hora/fechahora.

Ejemplo:

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

Si algún argumento es null , el resultado es 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 faltante

Llamando a ADDTIME() con el número incorrecto de argumentos, o sin pasar ningún argumento da como resultado un error:

SELECT ADDTIME();

Resultado:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ADDTIME'