months_betweenを使用します 、おそらくfloorと組み合わせる :
select floor(months_between(date '2012-10-10', date '2011-10-10') /12) from dual;
select floor(months_between(date '2012-10-9' , date '2011-10-10') /12) from dual;
floor あなたが丸みを帯びた年を取得することを確認してください。小数部分が必要な場合は、明らかにfloorを使用しないでください。 。