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

Как да съхранявам дата в unix милисекунда в Mysql?

недей. DateTime стойностите трябва да се съхраняват като DateTime , освен ако нямате наистина основателна причина да ги съхранявате по друг начин (като за поддържане на стойности за дата и час извън мин./максималните стойности на DateTime ), бих предложил да го оставите в DateTime колона.

Винаги можете да манипулирате как ги връщате от базата данни по време на Select или в слоя за презентация. За да върнете Unix времето от DateTime , MySql предоставя вграден метод, наречен UNIX_TIMESTAMP . За да върнете броя на милисекунди, просто умножете по 1000, тъй като клеймото за време на unix е броят на секундите от 1 януари 1970 г. (без да се включват високосните секунди). Ако искате да съхранявате unix време, ще трябва да използвате тип данни int.

Моля, имайте предвид, че ако съхранявате unix време, вместо да съхранявате действителното DateTime стойност в DateTime колона тип данни, ще загубите възможността да използвате лесно всички функции за дата и час, вградени в базата данни. Например, ако искате да разберете колко реда принадлежат на конкретен месец, първо ще трябва да преведете данните от int към datetime и едва след това ще можете да го изчислите.

Също така ще загубите точност (тъй като времето в unix е неточно дори при резолюция от 1 секунда, защото игнорира високосните секунди).

И така, в заключение – когато базата данни ви предлага тип данни, който отговаря на данните, не съхранявайте тези данни, като използвате различен тип данни. използвайте Date тип данни, ако искате да съхранявате само дати, DateTime тип данни, ако искате да съхранявате стойности за дата и време, и Time тип данни, ако искате да съхраните определен час от деня.

P.S.
Когато работите със стойности за дата и час, особено ако трябва да работите с клиенти от множество местоположения, ВИНАГИ съхранявайте само времената за дата UTC във вашата база данни, освен ако, разбира се, не искате да полудете.




  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 Indexing

  2. ефективен за паметта вграден SqlAlchemy итератор/генератор?

  3. MYSQL избира всички записи, където двойката потребителско име и дата се срещат повече от веднъж

  4. Фатална грешка:Не може да се използва обект от тип stdClass като масив в

  5. Добавете персонализирано скрито поле във формата на paypal и го вземете на пренасочена страница