MySQL5.6中date、datetime和timestamp的区别及使用

  • DATE类型用于具有日期部分但没有时间部分的值。 MySQL 以格式检索和显示 DATE值 。支持的范围是 ‘YYYY-MM-DD’‘1000-01-01’'9999-12-31’

  • DATETIME类型用于同时包含日期和时间部分的值。MySQL 以格式检索和显示 DATETIME值 。支持的范围是: ‘YYYY-MM-DD hh:mm:ss’‘1000-01-01 00:00:00’'9999-12-31 23:59:59’

  • TIMESTAMP数据类型用于同时包含日期和时间部分的值 。TIMESTAMP具有**'1970-01-01 00:00:01’UTC 到’2038-01-19 03:14:07’UTC 的范围。**

MySQL中datetime和timestamp的区别及使用

TIMESTAMP和DATETIME的相同点:

  • 两者都可用来表示同时包含日期和时间部分的值:YYYY-MM-DD HH:MM:SS[.fraction]类型的日期。

TIMESTAMP和DATETIME的不同点:

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

对于TIMESTAMP,它把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储。查询时,将其又转化为客户端当前时区进行返回
默认情况下,每个连接的当前时区是服务器的时间。可以基于每个连接设置时区。只要时区设置保持不变,您就可以返回存储的相同值。

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

  1. 两者所能存储的时间范围不一样

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’。

参考文档:https://dev.mysql.com/doc/refman/5.6/en/datetime.html

猜你喜欢

转载自blog.csdn.net/weixin_45334970/article/details/123104565
今日推荐