Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como inserir um datetime de precisão de microssegundos no mysql?


O MySQL 5.6+ suporta segundos fracionários em Valores de Tempo, enquanto as versões anteriores não.

Um padrão datetime coluna não conterá valores de microssegundos, enquanto um datetime(6) vontade. Você pode testá-lo no 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 você não estiver usando o MySql 5.6+, sugiro que use duas colunas, uma para a parte de data e hora e outra para os microssegundos:
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'));