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

Restar microsegundos de un valor de fecha y hora en MariaDB

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 de DATE_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).