类型名称 | 日期格式 | 日期范围 | 存储需求 |
---|---|---|---|
YEAR | YYYY | 1901 ~ 2155 | 1 个字节 |
TIME | HH:MM:SS | -838:59:59 ~ 838:59:59 | 3 个字节 |
DATE | YYYY-MM-DD | 1000-01-01 ~ 9999-12-3 | 3 个字节 |
DATETIME | YYYY-MM-DD HH:MM:SS | 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 | 8 个字节 |
TIMESTAMP | YYYY-MM-DD HH:MM:SS | 1980-01-01 00:00:01 UTC ~ 2040-01-19 03:14:07 UTC | 4 个字节 |
YEAR 类型
YEAR以YYYY格式显示值, 范围为 1901to2155和 0000。
TIME 类型
TIME以’hh:mm:ss’格式(或大小 ‘hhh:mm:ss’时值的格式)检索和显示值 。TIME值范围从 ‘-838:59:59’到 ‘838:59:59’。
DATA 类型
DATE以'YYYY-MM-DD'
格式检索和显示值 。支持的范围是'1000-01-01'
到'9999-12-31'
。该DATE类型用于具有日期部分但没有时间部分的值。
DATATIME 类型
DATETIME以'YYYY-MM-DD hh:mm:ss'
格式检索和显示值 。支持的范围是'1000-01-01 00:00:00'
到'9999-12-31 23:59:59'
。该DATETIME类型用于同时包含日期和时间部分的值。
TIMESTAMP 类型
TIMESTAMP有一个'1970-01-01 00:00:01'
UTC 到'2038-01-19 03:14:07'
UTC的范围。该TIMESTAMP数据类型被用于同时包含日期和时间部分的值。
TIMESTAMP 和 DATETIME 的自动初始化和更新
使用DEFAULT CURRENT_TIMESTAMP和 ON UPDATE CURRENT_TIMESTAMP,该列的默认值具有当前时间戳,并自动更新为当前时间戳。
CREATE TABLE t1 (
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);