MYSQL 中的日期格式不正确
Posted
技术标签:
【中文标题】MYSQL 中的日期格式不正确【英文标题】:Incorrect date format in MYSQL 【发布时间】:2018-04-03 08:54:26 【问题描述】:我一直在尝试将我的一列中的 varchar 字符串转换为 DATETIME
(插入到类型为 DATETIME
的另一列中)。
但是我一直遇到以下错误:-
Error Code: 1411. Incorrect datetime value: '16MAY2017:09:30:00' for function str_to_date
我从一列插入另一列的查询如下所示:-
Update Data f1 set f1.Local_ETD_DT = str_to_date(f1.LOCAL_ETD, '%d/%M/%Y:%H:%i:%s');
【问题讨论】:
请与一些示例数据分享CREATE TABLE data
语句。
【参考方案1】:
您的数据在日、月和年值之间没有斜线 (/
)。删除它们,你应该没问题:
Update Data f1 set f1.Local_ETD_DT = str_to_date(f1.LOCAL_ETD, '%d%M%Y:%H:%i:%s');
-- "/" Removed here ----------------------------------------------^-^
【讨论】:
@RaymondNijland%b
似乎更正确,事实上,虽然经验上 %M
工作得很好
@Caadi0 您可能应该使用%d%b%Y:%H:%i:%s
作为格式... %b 缩写月份名称(Jan..Dec)而不是 %M 月份名称(January..December)。月份 May 在 %b 中是相同的 %M 格式。从你的问题中不清楚你应该使用什么格式,这取决于你的数据。以上是关于MYSQL 中的日期格式不正确的主要内容,如果未能解决你的问题,请参考以下文章
Oracle DB 中的日期时间格式不正确,转换为小时和分钟