Array
(
)

Select para gerar intervalos de horas

Pjava
   - 24 mai 2013

Preciso fazer o seguinte. Passo um intervalo de horas, tipo: 8:00 17:00, logo dentro desse intervalo preciso fazer um select que me traga dentro desse intervalo, valores de 45min, começando às 8 e indo até às 18. Tipo,
8:00
8:45
9:30
10:15
....
até 18. Quanto ao intervalo de 45min, pode ser qualquer intervalo, qualquer valor, desde que se respeite o intervalo master.
A finalidade é criar uma agenda de horários

Alex Lekao
   - 24 mai 2013

Oi boa tarde!!!

Vc tem algum outro conteudo que sera agregado a ele?

Talvez vc tenha que utilizar uma CTE para Registrar os numeros em conjunto com uma funcao.

To checando algumas coisas aqui e ja ja posto o que achar.

Abraco.

Alex - Lekao

Alex Lekao
   - 25 mai 2013

Oi PJava, bom dia!!!

Cara fiz varias pesquisas e nao achei nada muito util, e nao consegui pensar em nada muito interessante para fazer o que esta querendo.

Agora uma pergunta, por se tratar de uma agenda, nao seria melhor vc ter uma tabela de agenda com um padrao definido destes intervalos onde vc trataria caso a caso de maneira melhor?

Bom eh isso ae, vou acompanhar o post se aparecer algo, servira para mim tambem.

Desculpe por nao ter podido ajudar. :-./

Abraco.

Alex - Lekao

Cesar Roniglei
   - 14 jun 2013

Boa tarde, creio que este Script possa lhe ajudar.

#Código

Declare @Intervalo Int      = 30,
		@Inicial   DateTime = '2013.06.14 08:00',
		@Final     DateTime = '2013.06.14 17:00',
		@Atual     DateTime = '2013.06.14 08:00',
		@Qtde      Int      = 50

While (@Qtde > 0) begin
  if not DATEADD(Minute , @Intervalo * @Qtde, @Atual) > @Final
    Select Convert(NVarchar, DATEADD(Minute , @Intervalo * @Qtde, @Inicial), 108) Horario
    Set @Qtde = @Qtde - 1  
end