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