【问题标题】:mysql compare specific datemysql比较具体日期
【发布时间】:2014-06-14 11:25:48
【问题描述】:

我有一个表,其中包含一个 varchar 字段,其中包含“2015 年 5 月 15 日 - 03:10 am”之类的日期

我必须将此表中的所有日期与当前日期进行比较,以检索当前日期下一个行和当前日期最近的行

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

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'

当我更改为“

是否有任何其他解决方案可以让 varchar 字段成为有效日期?

【问题讨论】:

    标签: mysql sql date comparison


    【解决方案1】:

    您的查询是多余的。您只需要将日期格式转换为datenow() 已经是一个日期。所以试试:

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

    【讨论】:

      猜你喜欢
      • 2012-12-20
      • 2015-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-28
      • 2011-04-10
      • 2011-07-10
      • 2019-09-18
      相关资源
      最近更新 更多