sql >> Database teknologi >  >> RDS >> Mysql

DATETIME VS INT til lagring af tid?

Jeg ville ikke bruge INT eller TIMESTAMP for at gemme dine datetime-værdier. Der er "År-2038-problem" ! Du kan bruge DATETIME og gem dine datetimes i lang tid.

Med TIMESTAMP eller numeriske kolonnetyper kan du kun gemme en række år fra 1970 til 2038. Med DATETIME type kan du gemme datoer med år fra 1000 til 9999.

Det er ikke anbefales at bruge en numerisk kolonnetype (INT ) for at gemme oplysninger om dato og klokkeslæt. MySQL (og andre systemer også) giver mange funktioner til at håndtere datetime information. Disse funktioner er hurtigere og mere optimerede end brugerdefinerede funktioner eller beregninger:https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html

For at konvertere tidszonen for din lagrede værdi til klientens tidszone kan du bruge CONVERT_TZ . I dette tilfælde skal du kende serverens tidszone og tidszonen for din klient. For at få serverens tidszone kan du se nogle muligheder på dette spørgsmål .



  1. Med VBA skal du finde den version af MySQL ODBC-driveren, der er installeret i Windows

  2. JSON_QUERY() vs JSON_VALUE() i SQL Server:Hvad er forskellen?

  3. Generer et resultatsæt af stigende datoer i TSQL

  4. Hvordan indsætter man data i MySQL med automatisk forøget primærnøgle?