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 中的日期格式不正确的主要内容,如果未能解决你的问题,请参考以下文章

成功调用中的日期格式不正确

本地日期格式不同时处理 mySQL 日期格式

Oracle DB 中的日期时间格式不正确,转换为小时和分钟

MySql 按 Mmm-dd-yyyy 中的(varchar)日期排序

MySQL 日期格式

在jQuery datepicker中更改日期格式与MySQL格式相同[重复]