sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo insertar una fecha y hora con precisión de microsegundos en mysql?

MySql 5.6+ admite segundos fraccionarios en valores de tiempo, mientras que las versiones anteriores no.

Un datetime estándar columna no contendrá valores de microsegundos, mientras que un datetime(6) será. Puedes probarlo en MySql 5.6:

CREATE TABLE your_table (
  d1 datetime,
  d2 datetime(6)
);

INSERT INTO your_table VALUES
('2011-11-11 11:11:11.111111', '2011-11-11 11:11:11.111111');

SELECT MICROSECOND(d1) as m1, MICROSECOND(d2) as m2
FROM your_table;

m1 | m2
-----------
0  | 111111

Si no está utilizando MySql 5.6+, le sugiero que use dos columnas, una para la parte de fecha y hora y otra para los microsegundos:

CREATE TABLE your_table (
  dt datetime,
  us int
);

INSERT INTO your_table VALUES
('2011-11-11 11:11:11.111111', MICROSECOND('2011-11-11 11:11:11.111111'));