浅析TIMESTAMP类型
- 引入
- 一、DATE\TIME\DATETIME
- 二、TIMESTAMP
- 三、TIMESTAMP和DATETIME的区别
- 四、TIMESTAMP总结
引入
日期与时间是非常重要的信息,在我们的系统中,几乎所有的数据表都用得到。原因是客户需要知道数据的时间标签,从而进行数据查询、统计和处理。因此,日期与时间类型也是我们最常用到的类型之一,今天就来聊一聊日期与时间类型中的TIMESTAMP类型。
在MySQL中提供的常用的日期类型有:DATE、TIME、DATETIME、TIMESTAMP,本文测试场景为MySQL 8.0。
- YEAR 类型通常用来表示年
- DATE 类型通常用来表示年、月、日
- TIME 类型通常用来表示时、分、秒
- DATETIME 类型通常用来表示年、月、日、时、分、秒
- TIMESTAMP 类型通常用来表示带时区的年、月、日、时、分、秒
类型 | 名称 | 所占字节 | 最小值 | 最大值 |
---|---|---|---|---|
YEAR | 年 | 1 | 1901 | 2155 |
TIME | 时间 | 3 | -838:59:59 | 838:59:59 |
DATE | 日期 | 3 | 1000-01-01 | 9999-12-03 |
DATETIME | 日期时间 | 8 | 1000-01-01 00:00:00 | 9999-12-31 23:59:59 |
TIMESTAMP | 日期时间 | 4 | 1970-01-01 00:00:00 UTC | 2038-01-19 03:14:07UTC |
在这几种类型中,只有TIMESTAMP能够与实际时区相对应
一、DATE\TIME\DATETIME
DATE、TIME和DATETIME是经常使用到的3中日期类型,以下在三种类型字段中插入相同日期值,来看看显示效果:
#创建表mysql> CREATE TABLE t ( -> date DATE, -> time TIME, -> datetime DATETIME -> );#插入数据mysql> INSERT INTO t VALUES( -> now(),now(),now() -> );#查看结果mysql> SELECT * FROM t;+------------+----------+---------------------+| date | time | datetime |+------------+----------+---------------------+| 2022-07-13 | 09:40:47 | 2022-07-13 09:40:47 |+------------+----------+---------------------+