Usuário com melhor resposta
Agenda do dia

Pergunta
-
Eu preciso baseado numa data e no horário inicio, horário fim e intervalo, montar a agenda do dia, ou seja, repetir as linhas pegando o período do intervalo dividindo pelo intervalo, como eu faço isso no sql?
09-02-2015 10h as 21h com intervalo de 30 minutos, eu vou ter 11h / 30 minutos = 22 horários, sendo eles 10h, 10h30, 11h e assim por diante, como eu monto o select para criar essas linhas.
Respostas
-
Boa tarde,
Experimente mais ou menos dessa forma:
declare @DataHoraIni datetime = '20150209 10:00'; declare @DataHoraFim datetime = '20150209 21:00'; with CTE_H as ( select @DataHoraIni as DataHoraIni, DATEADD(MINUTE, 30, @DataHoraIni) as DataHoraFim union all select DataHoraFim, DATEADD(MINUTE, 30, DataHoraFim) from CTE_H where DataHoraFim < @DataHoraFim ) select * from CTE_H
Espero que ajude.
Assinatura: http://www.imoveisemexposicao.com.br
- Sugerido como Resposta Mariana Del Nero segunda-feira, 9 de fevereiro de 2015 16:47
- Marcado como Resposta CEFL segunda-feira, 9 de fevereiro de 2015 17:08
Todas as Respostas
-
Boa tarde,
Experimente mais ou menos dessa forma:
declare @DataHoraIni datetime = '20150209 10:00'; declare @DataHoraFim datetime = '20150209 21:00'; with CTE_H as ( select @DataHoraIni as DataHoraIni, DATEADD(MINUTE, 30, @DataHoraIni) as DataHoraFim union all select DataHoraFim, DATEADD(MINUTE, 30, DataHoraFim) from CTE_H where DataHoraFim < @DataHoraFim ) select * from CTE_H
Espero que ajude.
Assinatura: http://www.imoveisemexposicao.com.br
- Sugerido como Resposta Mariana Del Nero segunda-feira, 9 de fevereiro de 2015 16:47
- Marcado como Resposta CEFL segunda-feira, 9 de fevereiro de 2015 17:08
-