La définition d'une "date moyenne" est subjective, mais vous pouvez convertir vos dates en un nombre julien, puis faire la moyenne de celles-ci, arrondir, puis reconvertir en une date.
create table dates (dt DATE);
insert into dates
values ('24-APR-2012');
insert into dates
values ('01-JAN-2012');
insert into dates
values ('01-JAN-2013');
insert into dates
values ('25-DEC-1900');
select to_date(round(avg(to_number(to_char(dt, 'J')))),'J')
from dates;
Voici le violon SQL :http://sqlfiddle.com/#!4/98ce9/1