logi c для определения времени прибытия, превышающего 30 минут запланированного времени окончания окна встречи: Oracle - PullRequest
0 голосов
/ 08 января 2020

Oracle SQL разработчик: у меня есть 2 поля для вопроса -

Время прибытия: формат даты и времени (пример: 01-JAN-15 11:03:00) Сервисное окно Время окончания: ЧЧ : MM (Varchar) (пример: 20:00)

Я должен применить логи c, где время прибытия составляет 30 минут или более после окончания окна обслуживания.

Спасибо большое заранее за помощь.

Ответы [ 2 ]

0 голосов
/ 08 января 2020

Учитывая ваше arrival_time как date, мы можем использовать следующие логи c.

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

Но учтите, что ваши логи c не будут работать, когда arrival_time и service_window_end_time представляет разные дни.

Ура !!

0 голосов
/ 08 января 2020

Вы можете использовать INTERVAL для добавления минут.

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

Затем вы можете использовать это в предложении WHERE с оператором больше, чем для сравнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...