Mysql DATETIME与TIMESTAMP的区别

TIMESTAMP的取值范围小,并且TIMESTAMP类型的日期时间在存储时会将当前时区的日期时间值转换为时间标准时间值,检索时再转换回当前时区的日期时间值。

而DATETIME则只能反映出插入时当地的时区,其他时区的人查看数据必然会有误差的。

DATETIME:日期时间,8字节。格式为YYYY-MM-DD HH:MM:SS,取值范围1000-01-01 00:00:00 至 9999-12-31 23:59:59

TIMESTAMP:时间戳,4字节。格式为YYYY-MM-DD HH:MM:SS,取值范围1970-01-01 00:00:01 UTC 至 2038-01-19 03:14:07 UTC

创建一张表,包含2种数据类型。如下:

bash 复制代码
mysql> create table tb_datetime(
    -> num1 datetime,
    -> num2 timestamp);
Query OK, 0 rows affected (1.25 sec)

mysql> desc tb_datetime;
+-------+-----------+------+-----+---------+-------+
| Field | Type      | Null | Key | Default | Extra |
+-------+-----------+------+-----+---------+-------+
| num1  | datetime  | YES  |     | NULL    |       |
| num2  | timestamp | YES  |     | NULL    |       |
+-------+-----------+------+-----+---------+-------+
2 rows in set (0.00 sec)

mysql> insert into tb_datetime values ('2023-2-28 21:21:12','2023-2-28 21:21:12');
Query OK, 1 row affected (0.14 sec)

mysql> select * from tb_datetime;
+---------------------+---------------------+
| num1                | num2                |
+---------------------+---------------------+
| 2023-02-28 21:21:12 | 2023-02-28 21:21:12 |
+---------------------+---------------------+
1 row in set (0.00 sec)

这个时候看到的数据是一样的。

接着,修改时区信息:

bash 复制代码
mysql> set time_zone = "+9:00";
Query OK, 0 rows affected (0.00 sec)

mysql> select * from tb_datetime;
+---------------------+---------------------+
| num1                | num2                |
+---------------------+---------------------+
| 2023-02-28 21:21:12 | 2023-02-28 22:21:12 |
+---------------------+---------------------+
1 row in set (0.00 sec)

可以看到,num2即TIMESTAMP类型的数据,跟着时区变化了。

相关推荐
xj7573065332 分钟前
精通django 第二章 视图和URL
数据库·django·sqlite
摇滚侠4 分钟前
两句话理解 ElasticSearch 搜索引擎数据库的作用
数据库·mysql·搜索引擎
BinaryBoss5 分钟前
Python mongodb批量修改数据库某个字段
数据库·python·mongodb
Yu_iChan11 分钟前
苍穹外卖Day09 地址簿模块
java·数据库·mybatis
戴西软件13 分钟前
戴西发布 DLM许可证加密防护软件V4.2让工业软件授权迈入并发调度与精细治理时代
运维·服务器·网络·数据库·人工智能·安全·云计算
NineData15 分钟前
NineData云原生智能数据管理平台新功能发布|2025年12月版
数据库·云原生·数据库管理工具·ninedata·数据库迁移·数据库迁移工具·智能数据管理平台
2501_941805938 小时前
在大阪智能零售场景中构建支付实时处理与高并发顾客行为分析平台的工程设计实践经验分享
数据库
李慕婉学姐8 小时前
【开题答辩过程】以《基于JAVA的校园即时配送系统的设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·开发语言·数据库
珠海西格电力9 小时前
零碳园区有哪些政策支持?
大数据·数据库·人工智能·物联网·能源
哈里谢顿9 小时前
记录一次sql优化记录
mysql