You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MySQL中将文本格式的日期数据转换为标准日期格式?

MySQL 8位纯文本日期转标准YYYY-MM-DD格式方案

场景1:仅查询时转换输出,不修改原数据

  • 方案1:转成标准DATE类型(推荐,适配后续所有日期计算、比较操作)
    执行语句:
    SELECT STR_TO_DATE('20210422', '%Y%m%d') AS format_date;
    转换后为原生DATE类型,默认输出格式即为2021-04-22。
  • 方案2:仅转换为指定格式的字符串
    如果不需要使用日期能力,仅做格式展示,可以用字符串处理实现:
    SELECT CONCAT(LEFT('20210422',4), '-', SUBSTRING('20210422',5,2), '-', RIGHT('20210422',2)) AS format_date;

场景2:修改表内原有存储的日期数据

操作前请先备份表数据,避免误操作导致数据损失

  1. 先验证转换结果是否符合预期:
SELECT 你的日期字段名, STR_TO_DATE(你的日期字段名, '%Y%m%d') AS 转换后结果 
FROM 你的表名 
LIMIT 20;
  1. 确认无误后执行更新:
-- 如果要保留字段为字符串类型,直接更新为带横杠的格式
UPDATE 你的表名 
SET 你的日期字段名 = DATE_FORMAT(STR_TO_DATE(你的日期字段名, '%Y%m%d'), '%Y-%m-%d');

-- 更推荐直接修改字段类型为DATE,存储成本更低、后续日期操作效率更高
ALTER TABLE 你的表名 
MODIFY COLUMN 你的日期字段名 DATE;

内容的提问来源于stack exchange,提问作者adadadad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 19:12:03