当前位置:   article > 正文

Mysql TIMESTAMP 和 DATETIME的区别_mysql timestamp 和datetime区别

mysql timestamp 和datetime区别

相同点

1> 两者都可用来表示YYYY-MM-DD HH:MM:SS[.fraction]类型的日期。 

不同点

1> 两者的存储方式不一样

对于TIMESTAMP,它把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储。查询时,将其又转化为客户端当前时区进行返回。

而对于DATETIME,不做任何改变,基本上是原样输入和输出。

下面我们来测试下。

当插入时间后,查询得到的结果都一样。

当修改当前会话的时区

show variables like '%time_zone%';

set time_zone='+0:00';

通过结果可以看出,createtime中返回的时间提前了8个小时,而createddatetime中时间则不变。这充分验证了两者的区别。

2> 两者所能存储的时间范围不一样

timestamp所能存储的时间范围为:'1970-01-01 00:00:01.000000' 到 '2038-01-19 03:14:07.999999'。

datetime所能存储的时间范围为:'1000-01-01 00:00:00.000000' 到 '9999-12-31 23:59:59.999999'。

总结:TIMESTAMP和DATETIME除了存储范围和存储方式不一样,没有太大区别。当然,对于跨时区的业务,TIMESTAMP更为合适。

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/230362
推荐阅读
相关标签
  

闽ICP备14008679号