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

8 formas de agregar microsegundos a un valor de fecha y hora en MariaDB

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:

  1. Una sintaxis le permite agregar una cantidad de días a una fecha, que no es lo que estamos haciendo aquí.
  2. La otra sintaxis es la misma que con DATE_ADD() función de arriba. Al usar esta sintaxis, ADDDATE() es un sinónimo de DATE_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.