Date、Datetime、Timestamp
Mysql中经常用来存储日期的数据类型
有三种:Date、Datetime、Timestamp。
Date数据类型:用来存储没有时间的日期。Mysql获取和显示这个类型的格式为“YYYY-MM-DD”。支持的时间范围为“1000-00-00”到“9999-12-31”。
Datetime类型:存储既有日期又有时间的数据。存储和显示的格式为 “YYYY-MM-DD HH:MM:SS”。支持的时间范围是“1000-00-00 00:00:00”到“9999-12-31 23:59:59”。
Timestamp类型:也是存储既有日期又有时间的数据。存储和显示的格式跟Datetime一样。支持的时间范围是“1970-01-01 00:00:01”到“2038-01-19 03:14:07”。
MySQL中datetime和timestamp的区别:
(一)范围不同。
“datetime” 以'YYYY-MM-DD HH:MM:SS'格式检索和显示DATETIME值。支持的范围为'1000-01-01 00:00:00'到'9999-12-31 23:59:59'TIMESTAMP值不能早于1970或晚于2037
(二)储存不同。
1,TIMESTAMP
①4个字节储存(Time stamp value is stored in 4 bytes)
②值以UTC格式保存( it stores the number of milliseconds)
③时区转化 ,存储时对当前的时区进行转换,检索时再转换回当前的时区。
2,datetime
①8个字节储存(8 bytes storage)
②实际格式储存(Just stores what you have stored and retrieves the same thing which you have stored.)
③与时区无关(It has nothing to deal with the TIMEZONE and Conversion.)
注:TIMESTAMP列的显示格式与datetime列相同。
timestamp: timestamp 这种数据类型表现自动生成的二进制数,确保这些数在数据库中是唯一的。timestamp 一般用作给表行加版本戳的机制。存储大小为 8 字节。