Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fabricio_gnr

Subtrair campos DataTime no oracle com excessão de horario

Recommended Posts

Amigos, bom dia!
Meu sistema registra as atividades realizadas dentro de um processo.
Ex.:
criado processo - 10/12/2016 08:00
encaminhar processo - 10/12/2016 08:06

Onde tenho como horário de expediente das 07h30 às 14h30.

Tenho que relacionar os processos que foram "encaminhados" com no máximo 10 min após terem sido criados, mas se o processo foi criado fora do horário de expediente, este período não deve ser contabilizado. Pois deve contar apenas o horário de expediente.

Alguém sabe como me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

--a diferença entre duas "datetimes" no oracle é em dias ou fração

select '1' x,to_date('01/01/2017 12:00:00','dd/mm/yyyy hh24:mi:ss') - to_date('12/01/2017 12:00:00','dd/mm/yyyy hh24:mi:ss') dif from dual
union all
select '2' x,to_date('12/01/2017 00:00:00','dd/mm/yyyy hh24:mi:ss') - to_date('12/01/2017 12:00:00','dd/mm/yyyy hh24:mi:ss') dif from dual
union all
select '3' x,to_date('12/01/2017 01:23:45','dd/mm/yyyy hh24:mi:ss') - to_date('12/01/2017 11:11:11','dd/mm/yyyy hh24:mi:ss') dif from dual


X DIF
- ----------
1 -11
2 -0.5
3 -0.407939815




--para calcular minutos multiplique por 1440 (24*60)

select '1' x,1460 * (to_date('01/01/2017 12:00:00','dd/mm/yyyy hh24:mi:ss') - to_date('12/01/2017 12:00:00','dd/mm/yyyy hh24:mi:ss')) difm from dual
union all
select '2' x,1460 * (to_date('12/01/2017 00:00:00','dd/mm/yyyy hh24:mi:ss') - to_date('12/01/2017 12:00:00','dd/mm/yyyy hh24:mi:ss')) difm from dual
union all
select '3' x,1460 * (to_date('12/01/2017 01:23:45','dd/mm/yyyy hh24:mi:ss') - to_date('12/01/2017 11:11:11','dd/mm/yyyy hh24:mi:ss')) difm from dual

X DIFM
- ----------
1 -16060
2 -730
3 -595.59213

Ajudou ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.