Sou novo no forum e preciso muito da ajuda de vocês.
Estou fazendo um select onde busco a hora em que um paciente começou a ser classificado e a hora em que o médico começou o atendimento... Preciso pegar a diferença entre essas horas.EX: medico atendeu as 14:30 e paciente foi classificado 14:00. => 14:30 - 14:00 = 30
select t.cd_atendimento
, s.cd_tipo_tempo_processo
, p.ds_tipo_tempo_processo
, s.dh_processo
from triagem_atendimento t
, sacr_tempo_processo s
, sacr_tipo_tempo_processo p
where t.cd_atendimento = 1789227
and t.cd_triagem_atendimento = s.cd_triagem_atendimento
and s.cd_tipo_tempo_processo = p.cd_tipo_tempo_processo
and s.cd_tipo_tempo_processo IN (11,31)
SELECT t.cd_atendimento
,s1.cd_tipo_tempo_processo
,s2.cd_tipo_tempo_processo
,s1.dh_processo
,s2.dh_processo
, s2.dh_processo - s1.dh_processo
FROM triagem_atendimento t
,sacr_tempo_processo s1 --inicio
,sacr_tempo_processo s2 --medico
WHERE t.cd_atendimento = 1789227
AND t.cd_triagem_atendimento = s1.cd_triagem_atendimento
AND t.cd_triagem_atendimento = s2.cd_triagem_atendimento
AND s1.cd_tipo_tempo_processo = 11
AND s1.cd_tipo_tempo_processo = 31
Aí você calcula a diferença da forma que lhe apeteça.
OBS: Isso se você deseja retornar todos atendimento que já tenham passado por estes 2 estágios. Caso possa não ser completo, precisa usar outter join. Também retirei a descrição do tipo de atendimento.
No select você colocou ,s2.dh_processo - s1.dh_processo, ou seja vai subtrair uma data pela outra correto?
O valor que esta me retornando dessa subtração é 0,0 pois as datas são do mesmo dia.
O que eu preciso é pegar a hora que esta neste campo data e verificar a diferença entre as horas.
Cara, se for date mesmo é para vir, na diferença, nesse caso: "0.0180439814814815".
Verifique se não é sua IDE que está arredondando com uma casa decimal.
Multiplique a diferença por 100, só para averiguar.
Com relação a pegar o numero de horas/minutos/segundos só olhar aquele post que te indiquei.
Noctifero muito obrigado pela ajuda, consegui pegar a diferença em minutos...
o problema ra era que eu não estava multiplicando o resultado pela quantidade de minutos que temos em um dia.
Fiz da seguinte forma e me trouxe o resultado espererado: