Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment insérer une date/heure de précision à la microseconde dans mysql ?

MySql 5.6+ prend en charge les les secondes fractionnaires dans les valeurs de temps, contrairement aux versions précédentes.

Un datetime standard la colonne ne contiendra pas de valeurs en microsecondes, tandis qu'un datetime(6) sera. Vous pouvez le tester dans 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 vous n'utilisez pas MySql 5.6+, je vous suggère d'utiliser deux colonnes, une pour la partie datetime et une pour les microsecondes :

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