sql >> Databasteknik >  >> RDS >> Mysql

DATETIME VS INT för lagring av tid?

Jag skulle inte använda INT eller TIMESTAMP för att spara dina datetime-värden. Det finns "År-2038-problem" ! Du kan använda DATETIME och spara dina datumtider under lång tid.

Med TIMESTAMP eller numeriska kolumntyper kan du bara lagra ett intervall av år från 1970 till 2038. Med DATETIME typ kan du spara datum med år från 1000 till 9999.

Det är inte rekommenderas att använda en numerisk kolumntyp (INT ) för att lagra information om datum och tid. MySQL (och andra system också) tillhandahåller många funktioner för att hantera information om datum och tid. Dessa funktioner är snabbare och mer optimerade än anpassade funktioner eller beräkningar:https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html

För att konvertera tidszonen för ditt lagrade värde till klientens tidszon kan du använda CONVERT_TZ . I det här fallet måste du känna till serverns tidszon och tidszonen för din klient. För att få serverns tidszon kan du se några möjligheter på denna fråga .



  1. Hur skapar och infogar man ett JSON-objekt med MySQL-frågor?

  2. Är detta ett säkert sätt att konvertera MySQL-tabeller från latin1 till utf-8?

  3. Kan inte installera PostgreSQL:Ett fel inträffade vid körning av Microsoft VC++ runtime installationsprogrammet på Windows XP

  4. 5 sätt att köra ett SQL-skript från en fil i SQLite