MySQL中时间的表示方法与常用格式解析
在MySQL中,时间主要通过日期时间类型(如DATE、TIME、DATETIME、TIMESTAMP)和格式化函数(如DATE_FORMAT())来表示和处理,这些类型和函数允许用户存储、查询和操作时间数据,满足不同场景下的需求。
核心时间类型

- DATE:仅表示日期,格式为
YYYY-MM-DD(例如2023-10-05)。 - TIME:仅表示时间,格式为
HH:MM:SS(例如14:30:00)。 - DATETIME:组合日期和时间,格式为
YYYY-MM-DD HH:MM:SS(例如2023-10-05 14:30:00),支持范围从1000-01-01 00:00:00到9999-12-31 23:59:59。 - TIMESTAMP:与
DATETIME类似,但范围较小(1970-01-01 00:00:01UTC到2038-01-19 03:14:07UTC),并自动转换为UTC时区存储,检索时根据当前时区显示。
时间格式设置与转换
- 使用
DATE_FORMAT()函数自定义输出格式,SELECT DATE_FORMAT(NOW(), '%Y年%m月%d日 %H:%i:%s'); -- 输出:2023年10月05日 14:30:00
- 通过
STR_TO_DATE()将字符串转换为时间类型:SELECT STR_TO_DATE('2023-10-05', '%Y-%m-%d');
时间运算与函数
- 当前时间:
NOW()、CURDATE()、CURTIME()。 - 时间加减:使用
DATE_ADD()或INTERVAL关键字,SELECT NOW() + INTERVAL 1 DAY; -- 加1天
- 提取部分时间:
YEAR()、MONTH()、HOUR()等函数可获取特定时间单位。
注意事项
- 时区问题:
TIMESTAMP类型受系统时区影响,而DATETIME存储固定值。 - 存储效率:
TIMESTAMP占用4字节,DATETIME占用8字节,需根据数据范围选择。 - 索引优化:对时间字段创建索引可加速范围查询(如
BETWEEN)。
通过合理选择时间类型和函数,MySQL能够高效处理各类时间数据,支撑业务中的日志记录、统计分析和定时任务等场景。
未经允许不得转载! 作者:HTML前端知识网,转载或复制请以超链接形式并注明出处HTML前端知识网。
原文地址:https://www.html4.cn/10456.html发布于:2026-08-12





