none
Selecionar horas entre duas datas? RRS feed

  • Pergunta

  •  tentei mas só seleciona as horas até meia noite, precisava calcular de um dia para o outro entre as 22:00 da noite de um dia até as 05:00 da manhã do dia seguinte.

    SELECT * FROM TBL_Ficha_Trabalho WHERE Hora >= '22:00:01' AND Hora <= '04:59:59'

    sábado, 13 de maio de 2017 18:10

Respostas

  • Samuel,

    Você consegue fazer isso desde que tenha uma data (conforme informado pelo José Diz). Se tiver algo como o script abaixo, ele trará a diferença em horas. Porém sem data, concorda que 22 - 1 = 21? 
    Já com a data e a função DATEDIFF você consegue obter o resultado que precisa.

    DECLARE @DataHoraInicial SMALLDATETIME = '2017-05-01 22:00'
    DECLARE @DataHoraFinal SMALLDATETIME = '2017-05-02 01:00'
    
    SELECT DATEDIFF(HOUR, @DataHoraInicial, @DataHoraFinal)



    Mariana Del Nero /* Se a resposta foi útil, não esqueça de marcá-la */

    segunda-feira, 15 de maio de 2017 17:48

Todas as Respostas

  • Deleted
    sábado, 13 de maio de 2017 18:45
  • Teria que calcular estas horas das 22 as 5, para ser mais exato, mas eu não sei nem listar como esta na tabela, piorou fazer a soma, pois não sei como ele entende, e só me retorna até a meia noite. 
    sábado, 13 de maio de 2017 19:58
  • Deleted
    sábado, 13 de maio de 2017 20:17
  • percebi que não tem como calcular sem fornecer as duas datas, no caso é uma coluna time, e eu queria que calcula-se as horas nesse intervalo.

    registrou o horário de entrada as 22 e saída as 1, achei que tinha como calcular automático já que virou o dia sem interromper o trabalho. resultado seria 3 horas

    sábado, 13 de maio de 2017 20:56
  • Samuel,

    Você consegue fazer isso desde que tenha uma data (conforme informado pelo José Diz). Se tiver algo como o script abaixo, ele trará a diferença em horas. Porém sem data, concorda que 22 - 1 = 21? 
    Já com a data e a função DATEDIFF você consegue obter o resultado que precisa.

    DECLARE @DataHoraInicial SMALLDATETIME = '2017-05-01 22:00'
    DECLARE @DataHoraFinal SMALLDATETIME = '2017-05-02 01:00'
    
    SELECT DATEDIFF(HOUR, @DataHoraInicial, @DataHoraFinal)



    Mariana Del Nero /* Se a resposta foi útil, não esqueça de marcá-la */

    segunda-feira, 15 de maio de 2017 17:48
  • Bom dia,

    Por falta de retorno esta thread esta encerrada !

    Por gentileza, caso necessário abra uma nova thread.

    Atenciosamente,


    Guilherme Macedo S

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    TechNet Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    sexta-feira, 19 de maio de 2017 19:43