Aquí hay algunas opciones para restar uno o más microsegundos de una expresión de fecha y hora en MariaDB.
El SUBTIME() Función
El SUBTIME() resta una cantidad determinada de tiempo de un valor de hora o fechahora.
Ejemplo:
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 09:59:59.876544 |
+---------------------------------------------------+ También puede cambiar las otras unidades de tiempo, como horas, minutos, segundos, etc.
El DATE_SUB() Función
El DATE_SUB() La función le permite restar un cierto número de unidades de fecha/hora de una expresión de fecha o fecha y hora. Por lo tanto, podemos usar esta función para devolver el valor de fecha y hora, menos una cierta cantidad de microsegundos.
Ejemplo:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 300 MICROSECOND); Resultado:
+-----------------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL 300 MICROSECOND) |
+-----------------------------------------------------------+
| 2021-05-01 09:59:59.999700 |
+-----------------------------------------------------------+
Tenga en cuenta que el MICROSECOND la palabra clave sigue siendo no plural independientemente de si se resta un microsegundo o más.
Pasar solo la fecha
Esto es lo que sucede si proporcionamos solo un valor de fecha:
SELECT DATE_SUB('2021-05-01', INTERVAL 3 MICROSECOND); Resultado:
+------------------------------------------------+
| DATE_SUB('2021-05-01', INTERVAL 3 MICROSECOND) |
+------------------------------------------------+
| 2021-04-30 23:59:59.999997 |
+------------------------------------------------+
Asume que el tiempo comienza a las 00:00:00, por lo que el MICROSECOND la cantidad se resta de eso.
El operador de resta (- )
Otra forma de restar uno o más microsegundos de un valor de fecha y hora es usar el operador de resta (- ), también conocido como el operador menos.
Ejemplo:
SELECT '2021-05-01 10:00:00' - INTERVAL 30 MICROSECOND; Resultado:
+-------------------------------------------------+ | '2021-05-01 10:00:00' - INTERVAL 30 MICROSECOND | +-------------------------------------------------+ | 2021-05-01 09:59:59.999970 | +-------------------------------------------------+
El Operador de Suma (+ )
Alternativamente, puede usar el operador de suma (+ ) junto con una cantidad negativa.
Ejemplo:
SELECT '2021-05-01 10:00:00' + INTERVAL -30 MICROSECOND; Resultado:
+--------------------------------------------------+ | '2021-05-01 10:00:00' + INTERVAL -30 MICROSECOND | +--------------------------------------------------+ | 2021-05-01 09:59:59.999970 | +--------------------------------------------------+
Otras formas de restar microsegundos
Aquí hay algunos otros enfoques que podría usar para restar uno o más microsegundos de un valor de fecha y hora:
- El
SUBTIME()función. - El
ADDTIME()(proporcionar una cantidad negativa restará esa cantidad del valor de fecha y hora). - El
SUBDATE()función (este es un sinónimo deDATE_SUB()cuando se usa con la misma sintaxis). - El
DATE_ADD()(proporcionar una cantidad negativa restará esa cantidad del valor de fecha y hora). - El
ADDDATE()(proporcionar una cantidad negativa restará esa cantidad del valor de fecha y hora).