在插入MySQL时将非标准格式的字符串datetime转换为datetime

在插入MySQL时将非标准格式的字符串datetime转换为datetime,mysql,Mysql,如果我有一个表示日期和时间的字符串,例如“30/09/2011 10:14”,这是一种非标准的日期时间格式。我可以在插入MySQL数据库表中的DATETIME字段时将其重新格式化为标准的DATETIME格式吗 我试过这个: INSERT INTO test(lastdate) VALUES(DATE_FORMAT('30/09/2011 10:14', '%d/%m/%Y %H:%i')) 插入测试(lastdate)值(日期格式('30/09/2011 10:14','%d/%m/%Y%H:%

如果我有一个表示日期和时间的字符串,例如“30/09/2011 10:14”,这是一种非标准的日期时间格式。我可以在插入MySQL数据库表中的DATETIME字段时将其重新格式化为标准的DATETIME格式吗

我试过这个:

INSERT INTO test(lastdate) VALUES(DATE_FORMAT('30/09/2011 10:14', '%d/%m/%Y %H:%i')) 插入测试(lastdate)值(日期格式('30/09/2011 10:14','%d/%m/%Y%H:%i'))
lastdate DATETIME字段中的结果为空。

您可以使用
str\u to\u date
转换插入:

INSERT INTO test(lastdate) values (str_to_date('30/09/2011 10:14',"%d/%m/%Y %h:%i"))

DATE\u格式
用于在
select

上将
DATE\u格式
更改为
str\u-to\u-DATE
时将日期/时间字段转换为另一种格式,这样就可以了。

不使用DATE\u格式插入,您选择使用日期格式我理解,但我如何告诉MySQL以这种格式插入日期时间?请看STR_to_date函数。