查找过去24小时内带有日期字段的记录

use*_*585 76 mysql sql date

在我的SQL查询中如何让它在过去24小时内找到记录?例如

   SELECT * FROM news WHERE date < 24 hours
Run Code Online (Sandbox Code Playgroud)

我通常通过将变量设置为date() - 1天并将其与之进行比较来实现,但我想知道sql查询方式是否更快?

a'r*_*a'r 119

您只需选择高于当前时间减去1天的日期.

SELECT * FROM news WHERE date >= now() - INTERVAL 1 DAY;
Run Code Online (Sandbox Code Playgroud)


And*_*rew 62

SELECT * FROM news WHERE date > DATE_SUB(NOW(), INTERVAL 24 HOUR)
Run Code Online (Sandbox Code Playgroud)

  • @Andrew:我认为这是"24小时",而不是"24小时". (2认同)

小智 9

校验:

SELECT * from [table_name] WHERE date > (NOW() - INTERVAL 24 HOUR)
Run Code Online (Sandbox Code Playgroud)


giu*_*ppe 9

SELECT * from new WHERE date < DATE_ADD(now(),interval -1 day);
Run Code Online (Sandbox Code Playgroud)


Sim*_*mon 5

SELECT * FROM news WHERE date > DATEADD(d,-1,GETDATE())
Run Code Online (Sandbox Code Playgroud)

  • 没关系,我看到你补充说你正在使用 MySQL 而不是 SQL Server。不过,答案可能对其他人有帮助:) (2认同)

Las*_*vik -2

SELECT * FROM news WHERE date < DATEADD(Day, -1, date)
Run Code Online (Sandbox Code Playgroud)