比较sql Phpmyadmin中的日期

时间:2014-03-12 17:55:25

标签: mysql phpmyadmin

我正在尝试在mysql中运行一个查询来从表中选择" end_date"该记录大于或等于当前日期,但它不断提出" MySQL返回一个空结果集"。但是这样的记录肯定存在于我的表中,我的查询是否有问题?

这是一条记录" 03/24/2014"的end_date列中的值。

这是我的查询

SELECT * FROM ******** WHERE DATE(end_date) > DATE(CURDATE())

我怀疑它可能是日期格式,这意味着我的计算机上的日期格式可能是这样的:dd / MM / yyyy 而服务器上的日期格式可能如下:MM / dd / yyyy

不幸的是,如果是这样的话,我不知道该怎么做。

1 个答案:

答案 0 :(得分:2)

如@FreshPrinceOfSO评论中所述,最好将日期存储为真实的DATE,TIMESTAMP或DATETIME。

如果这不是一个选项 - 例如,它不是你的数据库改变 - 那么Mysql你可以使用STR_TO_DATE()函数:

      SELECT * FROM ******** 
          WHERE STR_TO_DATE(end_date,'%m/%d/%Y')  > CURDATE();   

...无论其 如果end_date列具有索引,则应用于它的函数将使索引权益无效。