💡
原文英文,约1400词,阅读约需5分钟。
📝
内容提要
MySQL有五种用于存储时间数据的列类型,分别是DATE、DATETIME、TIMESTAMP、YEAR和TIME。TIMESTAMP的存储空间比DATETIME小,但合法值的范围也更小。如果需要存储2038年之后的日期,最好使用DATETIME。
🎯
关键要点
- MySQL有五种用于存储时间数据的列类型:DATE、DATETIME、TIMESTAMP、YEAR和TIME。
- DATE列用于仅存储日期,范围从1000年到9999年,存储空间为3字节。
- YEAR列用于仅存储年份,范围从1901年到2155年,存储空间为1字节。
- TIME列用于仅存储时间,范围从-838:59:59到838:59:59,存储空间为3字节。
- DATETIME和TIMESTAMP列用于存储日期和时间,DATETIME的存储空间为8字节,TIMESTAMP为4字节。
- TIMESTAMP的合法值范围较小,仅限于1970年到2038年,可能会遇到2038年问题。
- 如果需要存储2038年之后的日期,最好使用DATETIME。
- TIMESTAMP会自动转换为UTC存储,而DATETIME则不受时区影响。
- 在使用TIMESTAMP时,插入的时间会根据当前时区进行转换,而DATETIME保持不变。
- 在设计数据库时,应根据数据范围和存储需求选择合适的列类型。
➡️