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 > > > > > > > >
