Mysql的时间类型
1、DateTime
a)存储格式
DateTime的存储格式为:YYYY-MM-DD HH:MM:SS
b)时间范围
DateTime表示的时间范围是1000-01-01 00:00:00到9999-12-31 23:59:59
c)占用空间
数据库中该字段占用8byte的空间
d)其他一些特点
允许为空。
e)使用场景
时间记录范围跨度大的时候肯定就用这个类型。
2、Timestamp
a)存储格式
Timestamp的存储格式为:YYYY-MM-DD HH:MM:SS
b)时间范围
和DateTime相比,时间范围比较小了,不能小于1970年,不能大于2038年
c)占用空间
数据库中该字段占用4byte的空间
d)其他的一些特点
默认不允许为空。
e)使用场景
目前一般的使用场景,对于时间的存储,用这个字段已经足够了。比如在表中存储创建时间、修改时间、审批通过时间等,而且比DateTime更省内存。现在4byte和8byte区别不大,如果不那么较真,用DateTime或者Timestamp都行
3、Date
a)存储格式
Date的存储格式为:YYYY-MM-DD
b)时间范围
精确到天,时间范围是:1000-01-01 到 9999-12-31
c)占用空间
Date类型字段在数据库中占用4byte的空间
d)使用场景
只需要记录年月日的场景中,用该字段比较合适。比如开学时间、出生日期等
4、Time
a)存储格式
Time的存储格式为:HH:MM:SS
b)占用空间
Time类型字段在数据库中占用3byte的空间
c)使用场景
目前暂时还没用到它,后面来填坑
5、Year
a)存储格式
Year的存储格式为:YYYY
b)占用空间
只占用1byte的空间
c)使用场景
只需要记录年份的时候,就用它比较好。
6、总结
目前使用最多的还是DateTime和TimeStamp,TimeStamp可以转为DateTime,但是DateTime只能在合法范围内,可以转化为TimeStamp。另外这两种类型的进度都能达到毫秒后面6位。精度方面有保障。另外,现在多花点存储空间其实也没啥,一直也是DateTime用的比较多。
本文由【waitig】发表在等英博客 本文固定链接:Mysql的各种时间类型的区别以及使用场景 欢迎关注本站官方公众号,每日都有干货分享!
点赞 (0)赏分享 (0)