MySQL:如何将Char转换为Date?

时间:2016-02-18 10:13:03

标签: mysql

我想比较具有相同数据类型的两个字段,即char(8),其中输入是DATE。

我用过

select * from TABLE where DateChar1 <> DateChar2;

然而,在检查上述字段时,他们有不同的输入..

DateChar1 = '03102015'

DateChar2 = '20150310'

我已经尝试但返回NULL。

DATE_FORMAT(DateChar1 , "%d/%l/%Y") as DateChar1 
DATE_FORMAT(DateChar1 , '%Y, %d %m') as DateChar1
DATE_FORMAT(DateChar2 , '%Y, %d %m') as DateChar2 
DATE_FORMAT(DateChar2 , '%Y, %d %m') as DateChar2 
DATE(DateChar1 ) as (DateChar1 
DATE(DateChar2 ) as DateChar2 

提前感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

尝试mysql函数STR_TO_DATE()

select * from TABLE where STR_TO_DATE(DateChar1,  '%d/%m/%Y' ) <> STR_TO_DATE(DateChar2,  '%d/%m/%Y' );

答案 1 :(得分:1)

您可以使用STR_TO_DATE()功能

select * from TABLE
where STR_TO_DATE(DateChar1,'%d%m%Y') <> STR_TO_DATE(DateChar2,'%Y%m%d'); 
  

DateChar1 =&#39; 03102015&#39; (我猜你的日期ddmmyyyy)

     

DateChar2 =&#39; 20150310&#39; (我猜你的日期是yyyymmdd)

答案 2 :(得分:1)

使用mysql函数SELECT STR_TO_DATE('21,5,2013','%d,%m,%Y'); 例如:Listener