MySQL转换为DateTime

MySQL转换为DateTime,mysql,datetime,Mysql,Datetime,我有一个mysql数据库,它有一个列date,但它是varchar,格式如下'01/05/2012',但我需要将其转换为datetime格式,因为我将进行一些datetime比较 我能做什么 谢谢使用: 试试这个。为什么'%e/%c/%Y'而不是'%d/%m/%Y'?一个比另一个更通用(特别是从字符串转换时)?我的意思是,我不介意它们中的任何一个,只是好奇,因为'%d/%m/%Y'更符合OP的示例,而您在这里使用'%e/%c/%Y'。@AndriyM:实际上,您是对的:从OP的问题来看,格式应该

我有一个mysql数据库,它有一个列date,但它是varchar,格式如下'01/05/2012',但我需要将其转换为datetime格式,因为我将进行一些datetime比较

我能做什么

谢谢

使用:


试试这个。为什么
'%e/%c/%Y'
而不是
'%d/%m/%Y'
?一个比另一个更通用(特别是从字符串转换时)?我的意思是,我不介意它们中的任何一个,只是好奇,因为
'%d/%m/%Y'
更符合OP的示例,而您在这里使用
'%e/%c/%Y'
。@AndriyM:实际上,您是对的:从OP的问题来看,格式应该是
%d/%m/%Y
;我已经更新了我的答案。我最初写
%e/%c/%Y
是出于习惯,因为在使用d/m/YYYY格式时,我通常更喜欢使用一位数的日和月。结果表明,这两种格式都可以正确地使用
'01/05/2012'
-或
'1/5/2012'
-类似的日期。(就像我说的,我很好奇。)不太多,但SQL Fiddle对于这些小支票来说是一件很棒的事情,我就是忍不住。)谢谢@AndriyM!很高兴知道。
SELECT STR_TO_DATE(`date`, '%d/%m/%Y') FROM tbl;