从1小时前选择SQL查询?

Mar*_*ark 50 mysql sql

我有这个查询,但我想根据服务器时间更改日期以删除超过1小时前的所有内容(或者如果服务器时间不可能按发布日期删除).我怎么做?

DELETE FROM wp_posts
 WHERE post_date < '2008-06-06 19:18:00' 
   AND post_status = 'publish'
Run Code Online (Sandbox Code Playgroud)

OMG*_*ies 84

使用:

DELETE FROM wp_posts
 WHERE post_date < DATE_SUB(NOW(), INTERVAL 1 HOUR)
   AND post_status = 'publish'
Run Code Online (Sandbox Code Playgroud)

参考:


Vad*_*rov 31

甚至更简单:

SELECT NOW() - INTERVAL 1 HOUR;
Run Code Online (Sandbox Code Playgroud)

所以查询变成:

DELETE FROM wp_posts
 WHERE post_date < NOW() - INTERVAL 1 HOUR
   AND post_status = 'publish'
Run Code Online (Sandbox Code Playgroud)

  • 在某些RDBS中,时间应该是单引号,如:"1小时" (3认同)