sql >> Databáze >  >> RDS >> Mysql

DATETIME VS INT pro uložení času?

Nepoužil bych INT nebo TIMESTAMP pro uložení hodnot data a času. Existuje "Problém roku 2038" ! Můžete použít DATETIME a uložte si datum a čas na dlouhou dobu.

S TIMESTAMP nebo číselné typy sloupců, můžete uložit pouze rozsah let od 1970 do 2038. S DATETIME typu můžete uložit data s roky od 1000 do 9999.

Není doporučuje se použít číselný typ sloupce (INT ) pro uložení dat a času. MySQL (a také další systémy) poskytuje mnoho funkcí pro zpracování dat a času. Tyto funkce jsou rychlejší a optimalizovanější než vlastní funkce nebo výpočty:https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html

Chcete-li převést časové pásmo své uložené hodnoty na časové pásmo klienta, můžete použít CONVERT_TZ . V tomto případě potřebujete znát časové pásmo serveru a časové pásmo vašeho klienta. Chcete-li získat časové pásmo serveru, můžete vidět některé možnosti na tato otázka .



  1. Laravel Eloquent VLEVO PŘIPOJTE SE KDE NULL

  2. Nejlepší metoda pro uložení seznamu ID uživatelů

  3. mysql - hledání časového razítka podle hodiny dne

  4. Proč java.sql.DriverManager.getConnection(...) visí?