我有一个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'
.
我无法更改外部应用程序以重新格式化日期/时间字符串的格式,因此我唯一的机会就是处理它。
我认为我需要做的是解析现有的字符串,使用MySQL syntax
,在我的里面INSERT
声明,但我不知道该怎么做。我有一些想法,我需要使用SELECT
条款,也许STR_TO_DATE
,以某种方式与我的 INSERT 语句结合起来。
这是我当前的 INSERT 语句。我删除了其他不会引起问题的字段,只是为了使示例更清晰。
INSERT INTO tblInquiry (fldInquiryReceivedDateTime) VALUES ('5/15/2012 8:06:26')
使用MySQL的STR_TO_DATE() http://dev.mysql.com/doc/en/date-and-time-functions.html#function_str-to-date函数来解析您尝试插入的字符串:
INSERT INTO tblInquiry (fldInquiryReceivedDateTime) VALUES
(STR_TO_DATE('5/15/2012 8:06:26 AM', '%c/%e/%Y %r'))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)