PLSQL - 截断功能 - 24小时内到期预订

时间:2011-10-31 16:08:05

标签: sql oracle plsql

我只是想知道如何在24小时内查看预订是否到期?

我的预订表将包含可能有助于找到解决方案的重要字段:studiono,title,date,time,hour

目前,我尝试过以下方法:

select StudioNo 
from Bookings 
where sysdate - "DATE" <1 
and "TIME" - trunc("Time") + trunc(systimestamp) > systimestamp;

但是,我认为这不起作用。我这样做了吗?

感谢任何帮助。

2 个答案:

答案 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;