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

MySQL中将varchar类型mm/dd/yyyy日期转为yyyy-mm-dd的方法

解决VARCHAR格式日期转换与批量修改问题

1. 正确的日期转换查询语句

你直接使用DATE_FORMAT("06/15/2022", "%Y-%m-%d")不生效,是因为DATE_FORMAT要求参数为日期/时间类型,而你传入的是纯字符串。需先用STR_TO_DATE将mm/dd/yyyy格式的字符串转为日期类型,再用DATE_FORMAT输出目标格式:

SELECT DATE_FORMAT(STR_TO_DATE("06/15/2022", "%m/%d/%Y"), "%Y-%m-%d");

若需要yyyy/mm/dd格式,只需将最后一个参数改为"%Y/%m/%d"即可。

针对表中字段的查询写法:

SELECT DATE_FORMAT(STR_TO_DATE(your_date_column, "%m/%d/%Y"), "%Y-%m-%d") AS formatted_date FROM your_table;

2. 批量修改数据库日期的SQL命令

批量修改前务必先备份数据,或先执行验证查询确认转换结果无误,再进行更新操作:

步骤1:验证转换结果(必做)

先查询待更新字段,确认转换后的数据符合预期:

SELECT your_date_column, DATE_FORMAT(STR_TO_DATE(your_date_column, "%m/%d/%Y"), "%Y-%m-%d") AS new_date FROM your_table;

步骤2:执行批量更新

验证通过后,执行UPDATE语句修改字段值:

UPDATE your_table
SET your_date_column = DATE_FORMAT(STR_TO_DATE(your_date_column, "%m/%d/%Y"), "%Y-%m-%d");

如果希望后续规范存储,可在更新完成后将字段类型改为DATE:

ALTER TABLE your_table MODIFY COLUMN your_date_column DATE;

注意:修改字段类型前,要确保所有字符串都已转换为合法日期格式,避免触发报错。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 19:55:13