Mysql
 sql >> Datenbank >  >> RDS >> Mysql

DATETIME VS INT zum Speichern der Zeit?

Ich würde INT nicht verwenden oder TIMESTAMP um Ihre datetime-Werte zu speichern. Es gibt das "Year-2038-Problem" ! Sie können DATETIME verwenden und speichern Sie Ihre Datetimes für lange Zeit.

Mit TIMESTAMP oder numerischen Spaltentypen können Sie nur einen Bereich von Jahren von 1970 bis 2038 speichern. Mit DATETIME type können Sie Daten mit Jahren von 1000 bis 9999 speichern.

Es ist nicht Es wird empfohlen, einen numerischen Spaltentyp zu verwenden (INT ), um datetime-Informationen zu speichern. MySQL (und auch andere Systeme) bietet viele Funktionen zur Handhabung von Datetime-Informationen. Diese Funktionen sind schneller und optimierter als benutzerdefinierte Funktionen oder Berechnungen:https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html

Um die Zeitzone Ihres gespeicherten Werts in die Client-Zeitzone umzuwandeln, können Sie CONVERT_TZ . In diesem Fall müssen Sie die Zeitzone des Servers und die Zeitzone Ihres Clients kennen. Um die Zeitzone des Servers zu erhalten, gibt es einige Möglichkeiten auf diese Frage .