mysql比较具体日期

时间:2014-06-14 11:25:48

标签: mysql sql date comparison

我有一个包含varchar字段的表格,其中包含日期,如2015年5月15日 - 上午03:10'

我必须将此表中的所有日期与最新行的日期进行比较,其中下一行是最近的日期和最近的日期

我在这里找到了这个解决方案:

select * 
  from reunion a 
 where STR_TO_DATE(a.dateDebut,'%d %b %Y - %I:%i %p')>  
                 DATE_FORMAT(NOW(),'%d %b %Y - %I:%i %p');

但它会返回所有日期:' 2013年5月15日 - 03:10 AM' ,' 2015年5月15日 - 03:10 am',' 2016年5月15日 - 03:10 am'

当我改为"<"它返回0行;

是否有任何其他方法可以让varchar字段成为一个valide日期?

1 个答案:

答案 0 :(得分:1)

您的查询过度。您只需将日期格式转换为date即可。 now()已经是约会了。所以试试:

select *
from reunion a
where STR_TO_DATE(a.dateDebut,'%d %b %Y - %I:%i %p') > NOW();