MySQL时间日期类型
MySQL中的 时间类型:
日期和时间类型 | 字节 | 最小值 | 最大值 |
DATE | 4 | 1000-01-01 | 9999-12-31 |
DATETIME | 8 | 1000-01-01 00:00:00 | 9999-12-31 23:59:59 |
TIMESTAMP | 4 | 19700101080001 | 2038 年的某个时刻 |
TIME | 3 | -838:59:59 | 838:59:59 |
YEAR | 1 | 1901 | 2155 |
如果要用来表示年月日,通常用 DATE 来表示。
如果要用来表示年月日时分秒,通常用 DATETIME 表示。
如果只用来表示时分秒,通常用 TIME 来表示。
如果需要经常插入或者更新日期为当前系统时间,则通常使用 TIMESTAMP 来表示。
TIMESTAMP 值返回后显示为“YYYY-MM-DD HH:MM:SS”格式的字符串,显示宽度固定
为 19 个字符。如果想要获得数字值,应在 TIMESTAMP 列添加+0。
如果只是表示年份,可以用 YEAR 来表示,它比 DATE 占用更少的空间。YEAR 有 2 位或
4 位格式的年。默认是 4 位格式。在 4 位格式中,允许的值是 1901~2155 和 0000。在
2 位格式中,允许的值是 70~69,表示从 1970~2069 年。MySQL 以 YYYY 格式显示 YEAR
值
注意:
MySQL只给表中的第一个TIMESTAMP字段设置
默认值为系统日期,如果有第二个TIMESTAMP类型,则默认值设置为0值
TIMESTAMP还有一个重要特点,就是和时区相关。当插入日期时,会先转换为本地时区
后存放;而从数据库里面取出时,也同样需要将日期转换为本地时区后显示。这样,两个不
同时区的用户看到的同一个日期可能是不一样的
不积跬步无以至千里。不善思考无以踏捷径。