Código:
SELECT ((to_date('23/03/2010','dd/mm/yyyy')- to_date('10/03/2010','dd/mm/yyyy'))/2)+to_date('10/03/2010','dd/mm/yyyy') FROM dual
Si son mas fechas pues tendras que tipear mas operaciones para que te de lo que buscas o meter toda esa lógica en una función almacenada.
La resta de dos fechas te da un número, y fecha+numero te da fecha.
Pero es mejor:
Crear una tabla "números", donde se guarda en un campo fecha la fecha.
Y la fecha promedio de toda la tabla se saca así:
Código:
SELECT (SELECT SUM( to_date(fecha,'dd/mm/rrrr')-(SELECT MIN(to_date(fecha,'dd/mm/rrrr')) FROM numeros) ) FROM numeros) / (SELECT COUNT(fecha) FROM numeros) + (SELECT MIN(to_date(fecha,'dd/mm/rrrr')) FROM numeros) FROM dual
Saco el número de dias que hay ente cada fecha y la primera fecha.
Ejm
25/03/2010
20/03/2010
15/03/2010
entonces
10
5
0
Sumo eso y lo divido entre el número de fechas que existen(3) = 5
y a la primera fecha le sumo ese número de dias
y el promedio en este caso es 20/03/2010.
Fuente: http://www.forosdelweb.com/f100/promedio-fechas-oracle-790710/
No hay comentarios:
Publicar un comentario