MySQL中日期格式转换的全面指南
在MySQL中,转换日期格式主要通过内置函数 DATE_FORMAT() 和 STR_TO_DATE() 实现,前者用于将日期按指定格式输出为字符串,后者则将字符串解析为日期类型。
使用 DATE_FORMAT() 格式化日期
此函数可将日期或时间字段转换为自定义格式的字符串,基本语法为:

DATE_FORMAT(date, format)
将 2023-10-05 显示为 "05-10-2023":
SELECT DATE_FORMAT('2023-10-05', '%d-%m-%Y');
-- 结果:05-10-2023
常用格式符包括:
%Y:四位年份%m:两位月份%d:两位日期%H:24小时制小时%i:分钟
使用 STR_TO_DATE() 解析字符串为日期
当需要将字符串转换为日期类型时,可使用此函数,语法为:
STR_TO_DATE(str, format)
将字符串 "05/10/2023" 转为日期:
SELECT STR_TO_DATE('05/10/2023', '%d/%m/%Y');
-- 结果:2023-10-05
注意:若格式不匹配,可能返回 NULL 或错误数据。
其他辅助函数
CONVERT():可转换数据类型,如将日期转为字符串,但格式控制较弱。- 隐式转换:在比较或计算中,MySQL会自动尝试转换日期格式,但明确使用函数更安全可靠。
实际应用场景
- 报表展示:用
DATE_FORMAT()调整日期显示样式。 - 数据清洗:通过
STR_TO_DATE()规范导入的文本日期数据。 - 条件筛选:转换后按特定格式过滤日期范围。
掌握 DATE_FORMAT() 和 STR_TO_DATE() 能高效处理MySQL中的日期格式需求,确保数据一致性与查询准确性,在实际操作中,建议始终明确指定格式,避免因系统设置差异导致意外结果。
未经允许不得转载! 作者:HTML前端知识网,转载或复制请以超链接形式并注明出处HTML前端知识网。
原文地址:https://www.html4.cn/15682.html发布于:2026-09-08





