如何在sql中查找从昨天到今天的时间记录?

时间:2015-11-19 12:20:01

标签: sql oracle

我试图从昨天晚上10:30到今天晚上10:30用SQL查询查找记录。请帮我用sql查询找到这样的记录。

也许这是一个重复的问题,如果是这样,请将我与此联系起来。不想要任何pl-sql函数。

2 个答案:

答案 0 :(得分:2)

一种简单的方法是减去时间并比较日期。所以,一种方法是:

select t.*
from t
where trunc(datecol) = trunc(sysdate - 1.5/24);

使用直接比较更有效(因为Oracle可以更容易地使用索引):

select t.*
from t
where datecol >= trunc(sysdate) - 1.5/24 and
      datecol < trunc(sysdate) + 1 - 1.5/24;

注意:如果你不像我那样老套,你也可以使用interval来实现这个目的:

select t.*
from t
where datecol >= trunc(sysdate) - interval '90' minute 
      datecol < trunc(sysdate) + interval '1' day - interval '90' minute;

答案 1 :(得分:0)

您可以使用SYSDATE - 1获取昨天的约会。你需要这样的东西:

SELECT ... 
FROM ... 
WHERE date_field BETWEEN SYSDATE-1 AND SYSDATE