首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比较中的日期

问比较中的日期
EN

Stack Overflow用户
提问于 2014-03-12 17:55:24
回答 1查看 2.5K关注 0票数 0

我试图在mysql中运行一个查询,以从一个表中选择所有记录,其中该记录的"end_date“大于或等于当前日期,但它总是出现"MySQL返回一个空的结果集”。但是这样的记录肯定存在于我的表中,我的查询有问题吗?

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

这是我的疑问

代码语言:javascript
复制
SELECT * FROM ******** WHERE DATE(end_date) > DATE(CURDATE())

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-12 18:01:38

正如@FreshPrinceOfSO在评论中指出的,最好将日期存储为实际日期、时间戳或日期时间。

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

代码语言:javascript
复制
      SELECT * FROM ******** 
          WHERE STR_TO_DATE(end_date,'%m/%d/%Y')  > CURDATE();   

但是..。如果end_date列有索引,则应用于它的函数将取消索引效益。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22359916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档