Concordo com você Chiappa, pena que o DBA aqui da empresa não concorde com 
isso, enfim, agradeço sua ajuda, já deu uma luz aqui para mim.



Em Sexta-feira, 6 de Dezembro de 2013 14:26, Andre Santos 
<[email protected]> escreveu:
 
  
Pessoal

Por favor, corrijam-me se eu estiver errado... mas acho que AVG também não 
aceita valores "date" (aí não adiantaria usar CAST...).


Teria de definir uma lógica (transformando tipos), como o Chiappa sugeriu.


[ ]'s

André





Em 6 de dezembro de 2013 12:35, J. Laurindo Chiappa <[email protected]> 
escreveu:

 
>  
>Então : quando vc desenvolve para / utiliza um RDBMS, vc ** OBRIGATORIAMENTE 
>** tem que saber pelo menos o Release além da versão-alvo :não basta só falar 
>"ah, é 11G", pois EXISTEM SIM diferenças Significativas em diversos casos 
>entre um 11G R1 e um 11G R2, yep ?? 
>No ponto Específico que vc pergunta, porém, não há diferença significativa, 
>pois afaik ambos ( 11Gr1 E 11gr2) Não Possuem uma função/built-in específico 
>para médias de timestamp - LEVANTE porém a versão e release que vc usa 
>efetivamente, consulte a Doc para confirmar mas iirc é isso mesmo...
>
>
>[]s
>
>Chiappa
>
>--- Em [email protected], Tiago de Assis Pimenta <tiagopimenta@...> 
>escreveu
>>
>
>> Chiappa,
>> 
>> A versão **EXATA** eu não tenho, mas é a 11G e eu tinha pensado realmente em 
>> transformar tudo em segundos, fazer a média e depois converter de volta, mas 
>> tinha esperança que existisse uma função analítica ou algo parecido que 
>> fizesse a média.
>> 
>> Abs
>> 
>> 
>> 
>
> Em Sexta-feira, 6 de Dezembro de 2013 10:54, J. Laurindo Chiappa 
> <jlchiappa@...> escreveu:
>
>> 
>>   
>> Bem, como vc não nos dá a ** versão exata ** do RDBMS em questão pode haver 
>> variações (** CONSULTE ** a documentação da sua versão para confirmar ou 
>> negar) , mas de modo geral afaik a função que calcula médias aritméticas, a 
>> AVG, ainda não aceita timestamps, apenas DATEs e NUMBERs : assim, se vc não 
>> precisa da fração de segundos no seu cálculo de média, vc simplesmente 
>> transforma na sua query os TIMESTAMPs em DATEs (via CAST ou demais funções 
>> de conversão)... Já se vc Precisa da fração de segundos, aí imho o melhor 
>> procedimento seria transformar em NUMBER o timestamp (número de segundos, 
>> certamente) via extract(second from colunatimestamp) , e aí a expressão para 
>> cálculo seria algo tipo : select avg(extract(second from colunatimestamp) 
>> ...... 
>> Claro, isso te dá o número de segundos, SE vc quisesse ter dias, horas, 
>> minutos, E segundos (com fração), provavelmente divide o inteiro de segundos 
>> por 86400, o inteiro se segundos por 3600 para obter horas, é isso, creio....
>> Não testei, escrevo de cabeça, mas deve ser algo MUITO muito próximo, veja 
>> aí....
>> 
>> ´[]s
>> 
>> Chiappa
>> 
>
> --- Em [email protected], Tiago de Assis Pimenta <tiagopimenta@> 
> escreveu
>
>> >
>> > Pessoal, bom dia.
>> > 
>> > Preciso fazer a média de um campo timestamp e gostaria de saber se alguém 
>> > já fez isso ? Qual a melhor maneira de se fazer ?
>> > 
>> > Abraços
>> >
>>
>
>

Responder a