我想比较具有相同数据类型的两个字段,即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
提前感谢您的帮助。
答案 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