SQL DATETIME query



Hi-im试图通过查询比较MySQL中的两个日期,一个是文章第一次发布的日期,第二个是应该由查询删除的日期(365天后,由cron任务每30分钟运行一次),下面是我的SQL查询

DELETE FROM $wpdb->posts WHERE post_type = 'business' AND DATEDIFF(NOW(), post_date_gmt) > 2 

我的日期以2011-05-26 13:10:56的格式保存在数据库中,所以我的问题是DATETIME查询是否会遵循确切的日期和时间,或者当cron在第365天运行时删除文章,即使在文章实际发布365天之前还有13:10:56

问候

您的查询将删除任何超过2天的帖子,而不是365天。

但你的问题的答案很容易测试:

mysql> SELECT DATEDIFF('2011-01-01 00:10:00','2011-01-01 00:00:00');
+-------------------------------------------------------+
| DATEDIFF('2011-01-01 00:10:00','2011-01-01 00:00:00') |
+-------------------------------------------------------+
|                                                     0 | 
+-------------------------------------------------------+
1 row in set (0.00 sec)

正如您所看到的,DATEDIFF()只返回整天的整数。以"2011-01-01 23:59:59"作为第一个日期的类似测试也将产生0。

因此,你的问题的简短答案是"是的,它尊重日期和时间,一直到第二个。"

相关内容

  • 没有找到相关文章