sql >> Databasteknik >  >> RDS >> Mysql

Hur infogar man en mikrosekund-precision datetime i mysql?

MySql 5.6+ stöder bråkdelar av sekunder i tidsvärden, medan tidigare versioner inte gör det.

En standard datetime kolumnen kommer inte att innehålla mikrosekundvärden, medan en datetime(6) kommer. Du kan testa det i 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

Om du inte använder MySql 5.6+ skulle jag föreslå att du använder två kolumner, en för datetime-delen och en för mikrosekunderna:

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


  1. SQL - skriv ut många ord mellan varje kolumn med många villkor

  2. Talk slides:Partitioneringsförbättringar i PostgreSQL 11

  3. Hur man schemalägger databassäkerhetskopior med ClusterControl

  4. Ställ in värdet på NULL i MySQL