none
Calculo de Horas e minutos

    Question

  • Boa tarde,

    Sao lançados tempos em horas que são convertidos em minutos, por exemplo: 3H50 o que dá 3*60+50=230Minutos.

    A ideia é somar todos os minutos lançados e convertelos no formato HH:MM, ou seja pegando nos 230 teria que dar 3H50

    Tenho o seguinte código:

    Text to mcsel textmerge noshow
    select Total=isnull( (sum(bi.qtt)/60) - (floor((sum(bi.qtt)/60))) ,0) from bi (nolock) where bi.ndos=11 and bi.u_maquina<>´´ and bi.bifref=´<>´
    endtext
    u_sqlexec(mcsel,[dadosMA])

    (sum(bi.qtt)/60) Total de Horas, neste exemplo daria 3,833333

    (floor((sum(bi.qtt)/60))) Parte inteira das horas, neste exemplo daria 3

    (sum(bi.qtt)/60)-(floor((sum(bi.qtt)/60))) Deria dar 0,83333 Mas o problema é que não sei porque mas dá sempre 1.

    Se desse o resultado que devia era só /0,0166666667 e tinha os minutos.

    Alguem me consegue ajudar?


    João
    Friday, April 22, 2011 1:57 PM

Answers

  • O problema sao os tipos envolvidos na operaçao

    (sum(bi.qtt)/60) retorna un float

    (floor((sum(bi.qtt)/60))) retorna um integer

     

    float - integer = integer

     

    para corrigir isso use

    Total=isnull( (sum(bi.qtt)/60) - convert(float,(floor((sum(bi.qtt)/60)))) ,0)

     

    Att

     


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    SOGI INFORMATIQUE LTÉE (http://www.sogi.com)
    Friday, April 22, 2011 2:08 PM

All replies

  • O problema sao os tipos envolvidos na operaçao

    (sum(bi.qtt)/60) retorna un float

    (floor((sum(bi.qtt)/60))) retorna um integer

     

    float - integer = integer

     

    para corrigir isso use

    Total=isnull( (sum(bi.qtt)/60) - convert(float,(floor((sum(bi.qtt)/60)))) ,0)

     

    Att

     


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    SOGI INFORMATIQUE LTÉE (http://www.sogi.com)
    Friday, April 22, 2011 2:08 PM
  • É mesmo isso.

    Obrigado.

     


    João
    Friday, April 22, 2011 2:46 PM