Tôi sẽ sử dụng months_between
, có thể kết hợp với 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
đảm bảo bạn sẽ có số năm giảm xuống. Nếu bạn muốn các phần phân số, bạn rõ ràng không muốn sử dụng floor
.