Página 1 de 1
Duvida comando SQL
Enviado: Ter, 30 Out 2007 4:50 pm
por olcelot
Tenho um banco que guarda os horarios de entrada e saida dos medicos em um hospital....
Precisaria pegar o intervalo desses 2 horarios e disponibiliza-los de 30 em 30 minutos...
não tenho a menor ideia de como fazer isso, quem puder ajudar eu agradeço e muito...
Enviado: Ter, 30 Out 2007 7:01 pm
por rogenaro
Não tenho como testar no momento, você poderia fazer algo do tipo:
Selecionar tudo
select data_hora_intervalo
from
(
select a.data_entrada + (b.rnum / 48)
from tabela_entrada_saida a
, (
select level rnum
from dual connect by
level <= (
select (nvl(dat_saida, sysdate) - dat_entrada) * 48
from tabela_entrada_saida
where id_medico = 1
)
) b
where a.id_medico = 1
);
Ou seja, você precisa somar n * ( 1/48 ) (1 dia = 24 horas, multiplicado por 2 pois o intervalo deve ser de meia em meia hora) dias ao horário de entrada, onde n iria variar de 1 até o número de intervalos de 30 minutos existentes entre a entrada e saída do médico (que é o que o select from dual está fazendo aqui).