我只是想知道如何在24小时内查看预订是否到期?
我的预订表将包含可能有助于找到解决方案的重要字段:studiono,title,date,time,hour
目前,我尝试过以下方法:
select StudioNo
from Bookings
where sysdate - "DATE" <1
and "TIME" - trunc("Time") + trunc(systimestamp) > systimestamp;
但是,我认为这不起作用。我这样做了吗?
感谢任何帮助。
答案 0 :(得分:3)
不知道您的数据库结构是什么:
select StudioNo
from Bookings
where to_date(date || time, 'dd-mon-yyyyhh24:mi:ss') < sysdate +1
and to_date(date || time, 'dd-mon-yyyyhh24:mi:ss') > sysdate
基本上,从你的2个单独的日期和时间列(我假设这里是字符串)创建一个日期/时间字段,然后将其与sysdate + 1进行比较
答案 1 :(得分:2)
首先,您的Bookings
表是否有单独的日期和时间列,是否有任何特殊原因? Oracle数据类型DATE
将在单个列中包含这两个数据类型。这将使所需的查询更直接:
SELECT StudioNo
FROM Bookings
WHERE BookingDate BETWEEN SYSDATE AND SYSDATE+1;