【问题标题】:Greater than (>) not working in mysql query大于(>)在mysql查询中不起作用
【发布时间】:2014-02-04 02:15:30
【问题描述】:

我正在尝试在我的 WordPress 数据库上运行查询,以获取某个月份的所有帖子和一些其他数据的列表。我遇到了post_date 的问题,在某个日期之前查找帖子可以正常工作,但在某个日期之后查找帖子返回 0 个结果。

此示例返回 0 个结果:

SELECT * FROM `wp_posts` WHERE `post_date` > '2014-01-01 00:00:00';

但是这会返回大量结果:

SELECT * FROM `wp_posts` WHERE `post_date` < '2014-01-01 00:00:00';

有 2014-01-01 之后发布的帖子,所以这不是问题。

有什么想法吗?

【问题讨论】:

  • 你用的是什么版本?使用datetime 列无法重现此问题:sqlfiddle.com/#!2/12566f/3
  • 我通过 Sequel Pro 使用 5.1 版。

标签: mysql date mysql-5.1 sequelpro


【解决方案1】:

如果您只想评估日期,请尝试将该字段转换为日期:

SELECT * FROM wp_posts WHERE CAST(post_date AS DATE) > '2014-01-01'

【讨论】:

  • 好主意。仍然返回 0 个结果。
  • 我无法重现该问题。您的 SQL GUI 是否要求您指定数据库名称?您可能需要 dbname.wp_posts - 我知道这至少是 MySQL Workbench 的默认设置。
【解决方案2】:

检查表中存在日期列的列数据类型

【讨论】:

  • post_date 是日期时间类型
【解决方案3】:

试试这个,我觉得会有用的

SELECT * FROM wp_posts WHERE post_date '

【讨论】:

    猜你喜欢
    • 2012-04-08
    • 2015-05-17
    • 1970-01-01
    • 2013-05-07
    • 2014-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多