Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Znacznik czasu z milisekundową precyzją:Jak je zapisać w MySQL

Aby deklarować kolumny z typami danych z ułamkiem sekundy, musisz mieć MySQL w wersji 5.6.4 lub nowszej. Nie jesteś pewien, czy masz odpowiednią wersję? Wypróbuj SELECT NOW(3) . Jeśli pojawi się błąd, oznacza to, że nie masz odpowiedniej wersji.

Na przykład DATETIME(3) da ci milisekundową rozdzielczość w twoich znacznikach czasu, a TIMESTAMP(6) da ci rozdzielczość w mikrosekundach ze znacznikiem czasu w stylu *nix.

Przeczytaj to:https://dev.mysql.com/ doc/refman/8.0/en/fractional-seconds.html

NOW(3) poda aktualny czas z systemu operacyjnego serwera MySQL z dokładnością do milisekund.

Jeśli minęło kilka milisekund od epoki Uniksa , spróbuj tego, aby uzyskać wartość DATETIME(3)

FROM_UNIXTIME(ms * 0.001)

sygnatury czasowe JavaScript , na przykład są przedstawiane w milisekundach od epoki Uniksa .

(Zauważ, że wewnętrzna arytmetyka ułamkowa MySQL, taka jak * 0.001 , jest zawsze traktowana jako zmiennoprzecinkowa podwójnej precyzji IEEE754, więc jest mało prawdopodobne, że utracisz precyzję, zanim Słońce stanie się białym karłem.)

Jeśli używasz starszej wersji MySQL i potrzebujesz dokładności w czasie poniżej sekundy, najlepszym rozwiązaniem jest uaktualnienie. Wszystko inne zmusi cię do robienia bałaganu.

Jeśli z jakiegoś powodu nie możesz uaktualnić, możesz rozważyć użycie BIGINT lub DOUBLE kolumny do przechowywania znaczników czasu JavaScript tak, jakby były liczbami. FROM_UNIXTIME(col * 0.001) nadal będzie działać OK. Jeśli potrzebujesz aktualnego czasu do zapisania w takiej kolumnie, możesz użyć 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. Definicje schematów według DBMS

  2. Co to jest MySQL? – Wprowadzenie do systemów zarządzania bazami danych

  3. MySQL - policz całkowitą liczbę wierszy w php

  4. mySQL DataSource w Visual Studio 2012

  5. Jak wybrać pierwsze N ​​wierszy na grupę w MySQL?