-
Le type DATE est utilisé pour les valeurs qui ont une partie date mais pas de partie heure . MySQL récupère et affiche les valeurs DATE au format. Les plages prises en charge sont 'AAAA-MM-JJ' '1000-01-01' '9999-12-31'
-
Le type DATETIME est utilisé pour les valeurs qui contiennent à la fois des parties de date et d'heure . MySQL récupère et affiche les valeurs DATETIME au format. Les plages prises en charge sont : 'AAAA-MM-JJ hh:mm:ss' '1000-01-01 00:00:00' '9999-12-31 23:59:59'
-
Le type de données TIMESTAMP est utilisé pour les valeurs qui contiennent à la fois des parties de date et d'heure . TIMESTAMP a une plage de '1970-01-01 00:00:01' UTC à '2038-01-19 03:14:07' UTC. **
La différence et l'utilisation de datetime et timestamp dans MySQL
Similitudes entre TIMESTAMP et DATETIME :
- Les deux peuvent être utilisés pour représenter des valeurs qui contiennent à la fois des parties de date et d'heure : dates de type AAAA-MM-JJ HH:MM:SS[.fraction].
Différences entre TIMESTAMP et DATETIME :
- Les méthodes de stockage des deux sont différentes
Pour TIMESTAMP, il convertit l'heure insérée par le client à partir du fuseau horaire actuel en UTC (Coordinated Universal Time) pour le stockage. Lors de l'interrogation, il est converti dans le fuseau horaire actuel du client et renvoyé .
Par défaut, le fuseau horaire actuel de chaque connexion est l'heure du serveur. Le fuseau horaire peut être défini pour chaque connexion. Tant que le paramètre de fuseau horaire reste le même, vous pouvez renvoyer la même valeur stockée.
Et pour DATETIME, n'apportez aucune modification, essentiellement l'entrée et la sortie telles quelles .
- Les plages de temps que les deux peuvent stocker sont différentes
La plage de temps que l'horodatage peut stocker est : '1970-01-01 00:00:01.000000' à '2038-01-19 03:14:07.999999'.
La plage de temps que datetime peut stocker est : '1000-01-01 00:00:00.000000' à '9999-12-31 23:59:59.999999'.
Document de référence : https://dev.mysql.com/doc/refman/5.6/en/datetime.html