MySQL-如何在INSERT语句中将字符串值解析为DATETIME格式?

我有一个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语句中使用来解析现有的字符串,但是我不确定该怎么做。我有一个想法,我可能需要以某种方式与我的INSERT语句结合使用SELECT子句STR_TO_DATE

这是我当前的INSERT语句。我删除了其他不会引起问题的字段,只是为了使示例更简洁。

INSERT INTO tblInquiry (fldInquiryReceivedDateTime) VALUES ('5/15/2012 8:06:26')

谢谢您的帮助,我是SQL新手。

回答:

使用MySQL的STR_TO_DATE()函数来解析您要插入的字符串:

INSERT INTO tblInquiry (fldInquiryReceivedDateTime) VALUES

(STR_TO_DATE('5/15/2012 8:06:26 AM', '%c/%e/%Y %r'))

以上是 MySQL-如何在INSERT语句中将字符串值解析为DATETIME格式? 的全部内容, 来源链接: utcz.com/qa/427823.html

回到顶部