Mysql
 sql >> база данни >  >> RDS >> Mysql

Печат за време с точност до милисекунда:Как да ги запишете в MySQL

Трябва да сте на MySQL версия 5.6.4 или по-нова, за да декларирате колони с типове данни за част от секундата. Не сте сигурни, че имате правилната версия? Опитайте SELECT NOW(3) . Ако получите грешка, нямате правилната версия.

Например DATETIME(3) ще ви даде разделителна способност за милисекунди във вашите времеви марки и TIMESTAMP(6) ще ви даде микросекундна разделителна способност на времеви печат в стил *nix.

Прочетете това:https://dev.mysql.com/ doc/refman/8.0/en/fractional-seconds.html

NOW(3) ще ви даде текущото време от операционната система на вашия MySQL сървър с точност до милисекунди.

Ако имате няколко милисекунди от Unix епоха , опитайте това, за да получите стойност DATETIME(3)

FROM_UNIXTIME(ms * 0.001)

Отпечатъци за време на Javascript , например, са представени в милисекунди от Unix епоха .

(Забележете, че MySQL вътрешна дробна аритметика, като * 0.001 , винаги се обработва като IEEE754 с двойна прецизност с плаваща запетая, така че е малко вероятно да загубите прецизност, преди Слънцето да се превърне в звезда бяло джудже.)

Ако използвате по-стара версия на MySQL и се нуждаете от прецизност под секунда, най-добрият ви път е да надстроите. Всичко друго ще ви принуди да правите разхвърляни решения.

Ако по някаква причина не можете да надстроите, можете да обмислите използването на BIGINT или DOUBLE колони за съхраняване на времеви печати на Javascript, сякаш са числа. FROM_UNIXTIME(col * 0.001) пак ще работи добре. Ако имате нужда от текущото време за съхраняване в такава колона, можете да използвате UNIX_TIMESTAMP() * 1000



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mySQL DataSource на Visual Studio 2012

  2. Как мога да намеря не-ASCII знаци в MySQL?

  3. Разлика между тези два подхода за свързване на маса?

  4. Вземете разлика в годините между две дати в MySQL като цяло число

  5. Автоматизирайте внедряването на вашия MySQL или Postgres клъстер от архивиране