MySQL中如何将月份文本转换为月份数字?
MySQL月份文本转数字日期格式解决方法
你可以结合使用MySQL的STR_TO_DATE()和DATE_FORMAT()函数来实现需求,具体操作如下:
查询转换结果
假设你的日期字段名为date_str,数据表名为your_table,执行以下SQL语句即可得到转换后的日期格式:
SELECT DATE_FORMAT(STR_TO_DATE(date_str, '%Y-%b-%d'), '%Y-%m-%d') AS formatted_date FROM your_table;
函数说明
STR_TO_DATE(date_str, '%Y-%b-%d'):将输入的字符串按指定格式解析为MySQL日期类型,其中%b用于匹配缩写的月份名称(如OCT、FEB),MySQL默认不区分大小写,所以无需担心大小写问题。DATE_FORMAT(date_val, '%Y-%m-%d'):将解析后的日期类型转换为年-两位数字月份-日的字符串格式,%m表示两位数字的月份(不足两位补0)。
直接更新表中数据
如果需要将原字段的内容直接替换为转换后的格式,可以执行UPDATE语句(执行前建议先备份数据或用SELECT验证结果):
UPDATE your_table SET date_str = DATE_FORMAT(STR_TO_DATE(date_str, '%Y-%b-%d'), '%Y-%m-%d');
内容的提问来源于stack exchange,提问作者Mr. Skadoosh
相关产品推荐
相关产品推荐

