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


当前回答

在Oracle中(过去24小时):

SELECT  *
FROM    my_table
WHERE   date_column >= SYSDATE - 24/24

如果,出于任何原因,你有未来日期的行,你可以使用between,像这样:

SELECT  *
FROM    my_table
WHERE   date_column BETWEEN (SYSDATE - 24/24) AND SYSDATE

其他回答

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)

在Oracle中(过去24小时):

SELECT  *
FROM    my_table
WHERE   date_column >= SYSDATE - 24/24

如果,出于任何原因,你有未来日期的行,你可以使用between,像这样:

SELECT  *
FROM    my_table
WHERE   date_column BETWEEN (SYSDATE - 24/24) AND SYSDATE

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

SELECT  *
FROM    mytable
WHERE   order_date > DateAdd(DAY, -1, GETDATE()) and order_date<=GETDATE()
SELECT * 
FROM tableName 
WHERE datecolumn >= dateadd(hour,-24,getdate())