我正在寻找一个where子句,可用于检索过去24小时的记录?


当前回答

select ...
from ...
where YourDateColumn >= getdate()-1

其他回答

SELECT * 
FROM tableName 
WHERE datecolumn >= dateadd(hour,-24,getdate())
SELECT * 
FROM table_name
WHERE table_name.the_date > DATE_SUB(CURDATE(), INTERVAL 1 DAY)

MySQL:

SELECT * 
FROM table_name
WHERE table_name.the_date > DATE_SUB(NOW(), INTERVAL 24 HOUR)

时间间隔可以是年、月、日、小时、分、秒

比如,在最后十分钟

SELECT * 
FROM table_name
WHERE table_name.the_date > DATE_SUB(NOW(), INTERVAL 10 MINUTE)

在SQL Server中(过去24小时):

SELECT  *
FROM    mytable
WHERE   order_date > DateAdd(DAY, -1, GETDATE()) and order_date<=GETDATE()

如果考虑的时间戳是UNIX时间戳 您需要首先将UNIX时间戳(例如1462567865)转换为mysql时间戳或数据

SELECT * FROM `orders` WHERE FROM_UNIXTIME(order_ts) > DATE_SUB(CURDATE(), INTERVAL 1 DAY)