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

MySQL中使用CONCAT和REPLACE转换dd.mm.yyy日期格式是否可行

日期格式转换实现方案

可以通过REPLACE和CONCAT组合实现该需求,具体实现逻辑和示例如下:

前提说明

默认你提到的dd.mm.yyy为笔误,实际为dd.mm.yyyy四位年份格式,若确实为三位年份,可对应调整后续截取参数即可。

实现逻辑

通用逻辑不依赖数据库类型,调整对应字符串截取函数即可复用:

  • 先用字符串截取函数(常用SUBSTRING/SUBSTR)分别提取日期中的日、月、年三个部分
  • 用CONCAT函数按标准日期yyyy-mm-dd的顺序拼接三个部分,用短横线分隔
  • 若无需调整字段顺序,仅需替换分隔符,可直接用REPLACE将.替换为-即可

常用数据库示例

MySQL 示例

拆分拼接写法(推荐)

直接生成标准yyyy-mm-dd格式,适配所有数据库的日期类型识别:

SELECT CONCAT(
    SUBSTRING(你的日期字段名, 7, 4),
    '-',
    SUBSTRING(你的日期字段名, 4, 2),
    '-',
    SUBSTRING(你的日期字段名, 1, 2)
) AS standard_date
FROM 你的表名;

如果需要直接转换为日期类型,可外层嵌套STR_TO_DATE函数:

SELECT STR_TO_DATE(
    CONCAT(
        SUBSTRING(你的日期字段名, 7, 4),
        '-',
        SUBSTRING(你的日期字段名, 4, 2),
        '-',
        SUBSTRING(你的日期字段名, 1, 2)
    ),
    '%Y-%m-%d'
) AS standard_date
FROM 你的表名;

仅替换分隔符写法

适合仅需要统一分隔符的场景:

SELECT REPLACE(你的日期字段名, '.', '-') AS formatted_date
FROM 你的表名;

注意事项

  • 执行全量转换前,建议先取10-20条数据验证转换结果,避免月、日顺序颠倒
  • 若日期字段存在不规则格式(比如单数字日月写成1.2.2024而非01.02.2024),需要先补位处理再执行转换

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 15:18:01