Mysql
 sql >> Database >  >> RDS >> Mysql

Come inserire un datetime con precisione al microsecondo in mysql?

MySql 5.6+ supporta secondi frazionari in Time Values, mentre le versioni precedenti no.

Un datetime standard la colonna non conterrà valori di microsecondi, mentre un datetime(6) volere. Puoi testarlo in 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

Se non stai usando MySql 5.6+ ti consiglio di usare due colonne, una per la parte data/ora e una per i microsecondi:

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