定义到达时间大于 30 分钟的预定约会窗口结束时间的逻辑:Oracle



Oracle SQL developer: 我有 2 个字段有问题 -

到达时间:日期时间格式(例如:01-JAN-15 11:03:00( 服务窗口结束时间:HH:MM(瓦尔查尔((示例:20:00(

我必须应用到达时间为服务窗口结束时间后 30 分钟或更长时间的逻辑。

非常感谢您提前提供的帮助。

考虑到你的arrival_timedate,我们可以使用以下逻辑。

Select * from your_table
Where (to_date(
to_char(arrival_time,'dd-mon-yyyy') 
|| ' ' 
||service_window_end_time
,'dd-mon-yyyy hh24:mi') - arrival_time)*24*60 > 30 
-- difference of dates give the number of days 
-- so converted it to number of minutes by multiplying it with 24*60

但请注意,当arrival_timeservice_window_end_time代表不同的日子时,您的逻辑将不起作用。

干杯!!

您需要使用INTERVAL来添加分钟数。

SELECT SYSDATE schedule_end_time, 
SYSDATE + INTERVAL '30' MINUTE arrival_time
FROM dual

然后,您可以在带有大于运算符的WHERE子句中使用它来进行比较。

最新更新