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'));