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

DATETIME VS INT per memorizzare l'ora?

Non userei INT o TIMESTAMP per salvare i valori di data e ora. C'è il "Year-2038-Problem" ! Puoi usare DATETIME e salva i tuoi datetime per molto tempo.

Con TIMESTAMP o tipi di colonne numeriche puoi memorizzare solo un intervallo di anni dal 1970 al 2038. Con il DATETIME digita puoi salvare date con anni da 1000 a 9999.

non lo è consigliato di utilizzare un tipo di colonna numerica (INT ) per memorizzare informazioni data/ora. MySQL (e anche altri sistemi) fornisce molte funzioni per gestire le informazioni datetime. Queste funzioni sono più veloci e ottimizzate rispetto alle funzioni o ai calcoli personalizzati:https://dev.mysql.com/doc/refman/5.7/en/funzioni-di-data-e-ora.html

Per convertire il fuso orario del tuo valore memorizzato nel fuso orario del client puoi utilizzare CONVERT_TZ . In questo caso devi conoscere il fuso orario del server e il fuso orario del tuo client. Per ottenere il fuso orario del server puoi vedere alcune possibilità su questa domanda .