Я пытаюсь вычислить разницу между 2 значениями даты и времени, когда нерабочие часы игнорируются. Первоначально он просто посмотрел на разницу и подсчитал ее как минуты, но нужно считать только часы между 9 утра и 8 вечера с понедельника по пятницу и с 9 утра до 1 вечера в субботу, игнорируя все остальные времена. Я нахожусь в системе оракула 10g.Вычислить разницу во времени без учета нерабочих часов
мой код, как это в настоящее время стоит следующим образом:
begin
debug.debug('sp_access');
update cl_case b
set time_to_sp_access =
(
select (x.date_created-e.date_created)*1440
from cl_case c, eventlog e, eventlog x
where c.id=e.case_id
and x.case_id=e.case_id
and b.id=e.case_id
and e.id=
( select min(id) from eventlog mini
where mini.case_id=e.case_id
and mini.cl_code in ('AAAA','BBBB','CCCC','DDDD')
)
and x.id=
( select min(id) from eventlog minix
where minix.case_id=e.case_id
and minix.cl_code in ('EEEE','FFF','GGG','HHHH','JJJJ','KKKK','LLLL')
)
)
where id in
( select unique case_id
from eventlog elog
where elog.sptime_needs_setting ='Y'
);
commit;
end sp_access;
Как я могу получить это рассчитывать время между указанными часов?
благодарит
Что относительно праздничных дней? –