-
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的不同点:
- 两者的存储方式不一样
对于TIMESTAMP,它把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储。查询时,将其又转化为客户端当前时区进行返回。
默认情况下,每个连接的当前时区是服务器的时间。可以基于每个连接设置时区。只要时区设置保持不变,您就可以返回存储的相同值。
而对于DATETIME,不做任何改变,基本上是原样输入和输出。
- 两者所能存储的时间范围不一样
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’。