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'