MySQL Error Code 1411:text转date类型时str_to_date使用异常
解决MySQL str_to_date处理英文缩写月份报错问题
你的报错原因是格式符使用错误:%m用于匹配数字格式的月份(如01、12),但你的日期值是英文缩写月份(Jan、Feb等),需要改用%b格式符来匹配英文月份缩写。
正确的UPDATE语句如下:
UPDATE bus_delay SET Date = str_to_date(Date, "%d-%b-%y");
额外注意事项
- 如果执行时仍出现月份识别错误,可能是MySQL会话的语言环境不支持英文月份缩写,可以临时设置会话参数:
SET lc_time_names = 'en_US';
执行完更新操作后可按需改回原设置。
- 格式转换完成后,即可修改字段类型为DATE:
ALTER TABLE bus_delay MODIFY COLUMN Date DATE;
内容的提问来源于stack exchange,提问作者michael_scott
相关产品推荐
相关产品推荐

