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...
Duvida comando SQL
-
- Rank: DBA Pleno
- Mensagens: 232
- Registrado em: Sex, 30 Mar 2007 7:26 pm
- Localização: Londrina - PR
Rafael O. Genaro
Não tenho como testar no momento, você poderia fazer algo do tipo:
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).
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).
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Bing [Bot] e 12 visitantes