MySQL中如何将'April 9, 2013'格式日期转换为'dd-mm-yyyy'
解决日期格式转换返回空值的问题
你遇到的STR_TO_DATE返回空值,核心原因是格式模板与输入日期的结构不匹配。输入格式是'April 9, 2013'(完整月份名+无前置零日期+逗号+4位年份),需要用对应的格式符解析,再转成目标格式。
直接用STR_TO_DATE配合DATE_FORMAT就能一步完成,不需要拆分列:
SELECT DATE_FORMAT(STR_TO_DATE(your_date_column, '%M %e, %Y'), '%d-%m-%Y') AS converted_date FROM your_table;
格式符说明:
%M:匹配完整的英文月份名(如April、January)%e:匹配无前置零的日期数字(如9、12)%Y:匹配4位年份(如2013)%d:输出带前置零的日期(如09、12)%m:输出带前置零的月份数字(如04、01)
如果你的日期列里存在月份缩写(如Apr),把%M换成%b即可适配。
内容的提问来源于stack exchange,提问作者mwadz
相关产品推荐
相关产品推荐

