【发布时间】:2012-05-25 01:19:43
【问题描述】:
我有一个MySQL database,其中有一列日期类型为DATETIME。
我从外部应用程序获取日期/时间的字符串值。该字符串值如下所示:
'5/15/2012 8:06:26 AM'
MySQL 在 INSERT 上抛出错误:"Error. Incorrect datetime value"。我的解决方法是将列类型更改为VARCHAR,这可行,但我确实需要将数据作为适当的日期和时间以供将来使用。
我研究了MySQL DATETIME 值的可接受格式,发现MySQL 想要DATETIME 格式为'YYYY-MM-DD HH:MM:SS'。
我无法更改外部应用程序以重新格式化日期/时间字符串的格式,所以我唯一的机会就是处理它。
我认为,我需要做的是在我的INSERT 语句中使用MySQL syntax 解析现有字符串,但我不知道该怎么做。我有一些想法,我需要使用 SELECT 子句,也许是 STR_TO_DATE,以某种方式与我的 INSERT 语句结合使用。
这是我当前的 INSERT 语句。我删除了其他不会导致问题的字段,只是为了使示例干净。
INSERT INTO tblInquiry (fldInquiryReceivedDateTime) VALUES ('5/15/2012 8:06:26')
【问题讨论】: