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