none
Datediff ou sei lá! HOras, me ajudem! RRS feed

  • Pergunta

  • Gente, tenho uma tabela que possui a data/hora de abertura da chamada e data/hora do fechamento da chamada. Preciso saber o tempo em que essa chamada durou, lembrando que o formato de hora teria que ser mais de 24hs, tipo, uma chamada durou 32:40:23.

    alguém pode me ajudar?

    Obrigada mais uma vez, galera!

    quarta-feira, 17 de janeiro de 2007 12:03

Respostas

Todas as Respostas

  • segue exemplo]

     

    Declare @DataInicial Datetime
    Declare @DataFinal Datetime

    Select @DataInicial = '2006-01-16 10:20', @DataFinal = '2006-01-17 15:25'

    Select DateDiff(n,@DataInicial,@DataFinal)/60 As Horas, DateDiff(n,@DataInicial,@DataFinal)%60 As Minutos

     

    depois vc. pode fazer uma funcao para retornar formatado como vc. precisa. se precisar de ajuda com a afuncao retrone.

    quarta-feira, 17 de janeiro de 2007 12:30
  • Bom, sou meio Zezinha...

    mas aí, como faço pra colocar os campos.

    Campos: data_abertura, data_fechamento

    Tabela: TB_chamadas

    Valeu

    quarta-feira, 17 de janeiro de 2007 12:44
  •  

    segue exemplo

    Declare @DataInicial Datetime
    Declare @DataFinal Datetime

    create table chamadas ( data_abertura datetime, data_fechamento datetime)
    insert into chamadas (data_abertura, data_fechamento) Values ('2006-01-16 10:20',  '2006-01-17 15:25')

    Select DateDiff(n,data_abertura,data_fechamento)/60 As Horas, DateDiff(n,data_abertura,data_fechamento)%60 As Minutos
    From chamadas

    vou fazer o exemplo da funcao para, ja te mando.

    quarta-feira, 17 de janeiro de 2007 12:48
  •  

     


    create function Ufn_RetornaTotalHoras (@DataInicial Datetime, @DataFinal Datetime)
    Returns Varchar(08)
    As
    Begin
     Declare @Ret As Varchar(08)

     Select @Ret = Convert(varchar(03),DateDiff(n,@DataInicial,@DataFinal)/60) +
           Case When Len (Convert(varchar(02),DateDiff(n,@DataInicial,@DataFinal)%60)) = 1 Then
                   ':0' + Convert(varchar(02),DateDiff(n,@DataInicial,@DataFinal)%60) Else
                ':' + Convert(varchar(02),DateDiff(n,@DataInicial,@DataFinal)%60) End
    Return @Ret
    End

    Select dbo.Ufn_RetornaTotalHoras(data_abertura, data_fechamento) From chamadas

    Abs;

    • Sugerido como Resposta luckses21 terça-feira, 27 de outubro de 2009 16:55
    quarta-feira, 17 de janeiro de 2007 12:53
  • Cara, é isso mesmo! Valeu!!
    quarta-feira, 17 de janeiro de 2007 13:22
  • Cara que funçãozinha SAGAZ!!!!!!!!!

    Shoooowwwwww... era tdo que eu precisava!!! :D
    terça-feira, 27 de outubro de 2009 16:56