Definitionen av ett "genomsnittligt datum" är subjektiv, men du kan konvertera dina datum till ett julianskt tal, sedan snitta dem, runda av det och sedan konvertera tillbaka till ett datum.
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;
Här är SQL Fiddle:http://sqlfiddle.com/#!4/98ce9/1