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


当前回答

在MySQL中:

SELECT  *
FROM    mytable
WHERE   record_date >= NOW() - INTERVAL 1 DAY

在SQL Server中:

SELECT  *
FROM    mytable
WHERE   record_date >= DATEADD(day, -1, GETDATE())

在Oracle中:

SELECT  *
FROM    mytable
WHERE   record_date >= SYSDATE - 1

在PostgreSQL:

SELECT  *
FROM    mytable
WHERE   record_date >= NOW() - '1 day'::INTERVAL

红移:

SELECT  *
FROM    mytable
WHERE   record_date >= GETDATE() - '1 day'::INTERVAL

SQLite:

SELECT  *
FROM    mytable
WHERE   record_date >= datetime('now','-1 day')

在MS Access中:

SELECT  *
FROM    mytable
WHERE   record_date >= (Now - 1)

其他回答

在postgres中,假设你的字段类型是时间戳:

Select * from date_field > (now() - interval '24小时');

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)
select ...
from ...
where YourDateColumn >= getdate()-1

在MySQL中:

SELECT  *
FROM    mytable
WHERE   record_date >= NOW() - INTERVAL 1 DAY

在SQL Server中:

SELECT  *
FROM    mytable
WHERE   record_date >= DATEADD(day, -1, GETDATE())

在Oracle中:

SELECT  *
FROM    mytable
WHERE   record_date >= SYSDATE - 1

在PostgreSQL:

SELECT  *
FROM    mytable
WHERE   record_date >= NOW() - '1 day'::INTERVAL

红移:

SELECT  *
FROM    mytable
WHERE   record_date >= GETDATE() - '1 day'::INTERVAL

SQLite:

SELECT  *
FROM    mytable
WHERE   record_date >= datetime('now','-1 day')

在MS Access中:

SELECT  *
FROM    mytable
WHERE   record_date >= (Now - 1)
SELECT * 
FROM table_name
WHERE table_name.the_date > DATE_SUB(CURDATE(), INTERVAL 1 DAY)