我试图从昨天晚上10:30到今天晚上10:30用SQL查询查找记录。请帮我用sql查询找到这样的记录。
也许这是一个重复的问题,如果是这样,请将我与此联系起来。不想要任何pl-sql函数。
答案 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