Jon*_*eet 228
SELECT * FROM FOO
WHERE MY_DATE_FIELD >= NOW() - INTERVAL 1 DAY
Run Code Online (Sandbox Code Playgroud)
小智 51
请注意,结果可能与您预期的略有不同.
NOW()
返回一个DATETIME
.
而INTERVAL
作品的命名,例如INTERVAL 1 DAY = 24 hours
.
因此,如果您的脚本是cron'd运行03:00
,它将错过first three hours of records from the 'oldest' day
.
让一整天都用完CURDATE() - INTERVAL 1 DAY
.无论脚本何时运行,这都将返回到前一天的开头.
And*_*son 15
使用DATE_ADD
or没有看到任何正确答案DATE_SUB
:
减去 1 天 NOW()
...WHERE DATE_FIELD >= DATE_SUB(NOW(), INTERVAL 1 DAY)
Run Code Online (Sandbox Code Playgroud)
添加 1 天从 NOW()
...WHERE DATE_FIELD >= DATE_ADD(NOW(), INTERVAL 1 DAY)
Run Code Online (Sandbox Code Playgroud)
你当然可以:
SELECT * FROM table
WHERE DateStamp > DATE_ADD(NOW(), INTERVAL -1 DAY)
Run Code Online (Sandbox Code Playgroud)