none
Calculo tempo médio produção RRS feed

  • Pergunta

  • Olá,

    Preciso calcular o tempo médio da produção para isso, fiz uma função mas não estou conseguindo retornar o resultado fracionado. ex: ao invés de retornar 3,2 retorna 3, 0,45 retorna 0. Segue a função:

    ALTER function [dbo].[fTempoMedioProducao]
    (
          @DataInicialProducao smalldatetime,
          @DataFinalProducao smalldatetime,
          @QTDEProducao integer
    )
    returns decimal(18,1)
    as
    begin
        declare @HoraProducao integer
        declare @MinProducao integer
        declare @TempoMedioProducao decimal(18,1)
        
        set @HoraProducao = (
    			   (isnull(datediff(minute,@DataInicialProducao,@DataFinalProducao),0)/60)
    			)
        set @MinProducao =  (
    			   (isnull(datediff(minute,@DataInicialProducao,@DataFinalProducao),0)%60)
    		        )
        set @TempoMedioProducao = (((@HoraProducao * 60) + @MinProducao) / @QTDEProducao)
        return @TempoMedioProducao
    end
    Obrigado.

    Gilberto

    terça-feira, 14 de agosto de 2012 13:54

Respostas

  • Gilberto, isso deve estar ocorrendo devido a uma converão para int

    tente alterar as variaveis para decimal(18,1)

    ou fazer um cast para decimal antes de dividir


    Att.
    Lukas Baldan

    terça-feira, 14 de agosto de 2012 14:32

Todas as Respostas