none
Diferença entre horas RRS feed

  • Pergunta

  • Olá pessoal,

    Estou precisando de uma ajuda para calcular a diferença entre dois campos datetime. O primeiro campo recebe a data e o horário que um chamado ao helpdesk é aberto e o segundo recebe a data e o horário em que o chamado é fechado. Tenho um terceiro campo datetime que deve receber o tempo que foi utilizado para finalizar o chamado (seria a diferença entre os campos de inicio e fim do chamado).

    Alguém sabe uma forma pratica de eu conseguir isso?

    Tentei usar o datediff(hh,campo1,campo2) mas ele retorna apenas as horas. Tenho que usar o datediff(mi,campo1campo2) pegar os minutos retornados e trasformar em HH:MM? como faço isso em uma stored procedure?


    segunda-feira, 14 de maio de 2007 14:41

Todas as Respostas

  • veja este exemplo

     

     

     

    Create function Ufn_Formata_Horas (@Minutos Int)
    Returns Varchar(10)
    Begin
    Declare @Hora Varchar(04)
    Declare @Min  Varchar(02)

    Select @Hora = @Minutos/60 ,
           @Min  = @Minutos%60

    Return (Select Case When Len(@Hora)=1 Then '0'+@Hora Else @Hora End + ':' +
                  Case When Len(@Min)=1 Then '0'+@Min Else @Min End) 
    End

    declare @horaini datetime
    declare @horafim datetime

    select  @horaini = '2007-05-14 10:20' , @horafim = '2007-05-15 10:25'

    Select dbo.Ufn_Formata_Horas(datediff(minute,@horaini,@horafim))

     

    e so criar a funcao e chamar retornando o datediff dos minutos de dois peridos.

     

    Abs;

    segunda-feira, 14 de maio de 2007 14:45
  • Colla,

     

    Ótimo solução, simples e prática.

     

     

    segunda-feira, 14 de maio de 2007 16:41