mysql DATETIME和TIMESTAMP类型
以mysql 5.7.20 为例
一直以来,理解有偏差,作此记录,纠正
一、DATETIME和TIMESTAMP 都有高达微秒(6位)的精度
范围 DATETIME 1000-01-01 00:00:00.000000 9999-12-31 23:59:59.999999
TIMESTAMP 1970-01-01 00:00:01.000000 2038-01-19 03:14:07.999999
二、MySQL将TIMESTAMP当前时区的值转换为UTC进行存储,然后从UTC转换回当前时区进行检索。
(对于其他类型,例如,不会出现这种情况DATETIME。)
三、从MySQL 5.6.4开始需要存储
DATETIME |
5字节+小数秒存储 |
TIMESTAMP |
4字节+小数秒存储 |
| 分数秒精度 | 需要存储 |
| 0 | 0个字节 |
| 1,2 | 1个字节 |
| 3,4 | 2个字节 |
| 5,6 | 3个字节 |
浙公网安备 33010602011771号