Si necesita agregar uno o más microsegundos a un valor de fecha y hora en MariaDB, aquí hay 8 opciones para considerar.
El DATE_ADD()
Función
El DATE_ADD()
La función le permite agregar una cantidad a una expresión de fecha o fecha y hora. Esto incluye agregar partes de tiempo, como horas, minutos, segundos, microsegundos, etc.
Ejemplo:
SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 MICROSECOND);
Resultado:
+----------------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 MICROSECOND) |
+----------------------------------------------------------+
| 2021-05-01 10:00:00.000035 |
+----------------------------------------------------------+
En este caso, agregué 35 microsegundos a la expresión de fecha y hora. Tenga en cuenta que el SECOND
la palabra clave sigue siendo no plural independientemente de si estoy agregando un segundo o más.
También puede notar que la porción de microsegundos no estaba en mi valor de fecha y hora original, pero se agregó una vez que agregué los microsegundos.
De manera similar, esto es lo que sucede si proporciono solo la fecha:
SELECT DATE_ADD('2021-05-01', INTERVAL 35 MICROSECOND);
Resultado:
+-------------------------------------------------+ | DATE_ADD('2021-05-01', INTERVAL 35 MICROSECOND) | +-------------------------------------------------+ | 2021-05-01 00:00:00.000035 | +-------------------------------------------------+
La parte de tiempo se agrega al resultado y se supone que el tiempo inicial fue 00:00:00.000000
.
También puede usar una unidad de fecha/hora compuesta para agregar varias unidades. Por ejemplo, si quisiera agregar 1 minuto y 30 segundos, podría hacer esto:
SELECT
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' SECOND_MICROSECOND);
Resultado:
+---------------------------------------------------------------------+ | DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' SECOND_MICROSECOND) | +---------------------------------------------------------------------+ | 2021-05-01 10:00:01.300000 | +---------------------------------------------------------------------+
Consulte Unidades de fecha y hora de MariaDB para obtener una lista completa de unidades de fecha/hora.
El ADDDATE()
Función
Otra forma de agregar segundos a una expresión de fecha y hora es usar ADDDATE()
función. Esta función tiene dos sintaxis:
- Una sintaxis le permite agregar una cantidad de días a una fecha, que no es lo que estamos haciendo aquí.
- La otra sintaxis es la misma que con
DATE_ADD()
función de arriba. Al usar esta sintaxis,ADDDATE()
es un sinónimo deDATE_ADD()
.
Ejemplo:
SELECT ADDDATE('2021-05-01 10:00:00', INTERVAL 35 MICROSECOND);
Resultado:
+---------------------------------------------------------+ | ADDDATE('2021-05-01 10:00:00', INTERVAL 35 MICROSECOND) | +---------------------------------------------------------+ | 2021-05-01 10:00:00.000035 | +---------------------------------------------------------+
El DATE_SUB()
Función
El DATE_SUB()
función le permite restar una cantidad a una expresión de fecha/fechahora. Sin embargo, si proporciona un valor negativo para restar, entonces termina siendo sumado a la fecha/hora.
Ejemplo:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 MICROSECOND);
Resultado:
+-----------------------------------------------------------+ | DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 MICROSECOND) | +-----------------------------------------------------------+ | 2021-05-01 10:00:00.000035 | +-----------------------------------------------------------+
El SUBDATE()
Función
El SUBDATE()
función es un sinónimo de DATE_SUB()
cuando se usa la siguiente sintaxis.
Ejemplo:
SELECT SUBDATE('2021-05-01 10:00:00', INTERVAL -35 MICROSECOND);
Resultado:
+----------------------------------------------------------+ | SUBDATE('2021-05-01 10:00:00', INTERVAL -35 MICROSECOND) | +----------------------------------------------------------+ | 2021-05-01 10:00:00.000035 | +----------------------------------------------------------+
El +
Operador
Otra opción es usar el +
operador.
El +
El operador se usa para realizar sumas, y podemos usarlo en fechas, junto con la unidad de fecha/hora aplicable para agregar una cierta cantidad de microsegundos a nuestra expresión de fecha y hora.
Ejemplo:
SELECT '2021-05-01 10:00:00' + INTERVAL 35 MICROSECOND;
Resultado:
+-------------------------------------------------+ | '2021-05-01 10:00:00' + INTERVAL 35 MICROSECOND | +-------------------------------------------------+ | 2021-05-01 10:00:00.000035 | +-------------------------------------------------+
El -
Operador
El -
El operador se puede utilizar para restar una cantidad de una fecha. Pero si se usa para restar un número negativo, entonces el resultado es una cantidad positiva que se agrega a la expresión de fecha y hora:
SELECT '2021-05-01 10:00:00' - INTERVAL -35 MICROSECOND;
Resultado:
+--------------------------------------------------+ | '2021-05-01 10:00:00' - INTERVAL -35 MICROSECOND | +--------------------------------------------------+ | 2021-05-01 10:00:00.000035 | +--------------------------------------------------+
El ADDTIME()
Función
Puedes usar el ADDTIME()
función para agregar una cantidad de milisegundos a una expresión de fecha y hora.
Ejemplo:
SELECT ADDTIME('2021-05-01 10:00:00', '00:00:00.123456');
Resultado:
+---------------------------------------------------+ | ADDTIME('2021-05-01 10:00:00', '00:00:00.123456') | +---------------------------------------------------+ | 2021-05-01 10:00:00.123456 | +---------------------------------------------------+
Una ventaja de esta función es que también puede cambiar otras unidades de tiempo, como horas, segundos, etc.
El SUBTIME()
Función
Alternativamente, puede cambiarlo y usar SUBTIME()
con un valor negativo si así lo desea:
SELECT SUBTIME('2021-05-01 10:00:00', '-00:00:00.123456');
Resultado:
+----------------------------------------------------+ | SUBTIME('2021-05-01 10:00:00', '-00:00:00.123456') | +----------------------------------------------------+ | 2021-05-01 10:00:00.123456 | +----------------------------------------------------+
Otras unidades de fecha y hora
Los ejemplos anteriores agregan una cantidad de microsegundos al valor de fecha y hora, pero podemos usar las mismas técnicas para agregar cualquier unidad de fecha/hora. Consulte Unidades de fecha y hora de MariaDB para obtener una lista completa de las unidades de fecha/hora que se pueden usar con las funciones y los operadores anteriores.