sql >> Database >  >> RDS >> Mysql

DATETIME VS INT voor het opslaan van tijd?

Ik zou INT niet gebruiken of TIMESTAMP om uw datetime-waarden op te slaan. Er is het "Year-2038-Problem" ! U kunt DATETIME . gebruiken en bewaar je datetimes voor een lange tijd.

Met TIMESTAMP of numerieke kolomtypen kunt u alleen een bereik van jaren van 1970 tot 2038 opslaan. Met de DATETIME type kunt u datums opslaan met jaren van 1000 tot 9999.

Het is niet aanbevolen om een ​​numeriek kolomtype te gebruiken (INT ) om datetime-informatie op te slaan. MySQL (en ook andere systemen) biedt veel functies om datetime-informatie te verwerken. Deze functies zijn sneller en meer geoptimaliseerd dan aangepaste functies of berekeningen:https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html

Om de tijdzone van uw opgeslagen waarde om te zetten naar de tijdzone van de client kunt u CONVERT_TZ . In dit geval moet u de tijdzone van de server en de tijdzone van uw client weten. Om de tijdzone van de server te krijgen, kun je enkele mogelijkheden bekijken op deze vraag .



  1. Kolom bijwerken met null-waarde

  2. SQL - Krijg alleen het resultaat van het huidige jaar

  3. DATEADD() Voorbeelden in SQL Server

  4. Alleen WordPress-subcategorieën weergeven