Ich würde months_between
verwenden , evtl. kombiniert mit 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
stellt sicher, dass Sie heruntergerundete Jahre erhalten. Wenn Sie die Bruchteile wollen, möchten Sie natürlich floor
nicht verwenden .