Oracle SQL developer: 我有 2 个字段有问题 -
到达时间:日期时间格式(例如:01-JAN-15 11:03:00( 服务窗口结束时间:HH:MM(瓦尔查尔((示例:20:00(
我必须应用到达时间为服务窗口结束时间后 30 分钟或更长时间的逻辑。
非常感谢您提前提供的帮助。
考虑到你的arrival_time
是date
,我们可以使用以下逻辑。
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_time
和service_window_end_time
代表不同的日子时,您的逻辑将不起作用。
干杯!!
您需要使用INTERVAL
来添加分钟数。
SELECT SYSDATE schedule_end_time,
SYSDATE + INTERVAL '30' MINUTE arrival_time
FROM dual
然后,您可以在带有大于运算符的WHERE
子句中使用它来进行比较。