Oracle中计算日期之间相差的年月

一、基本用法
20个月换算成1年8个月,select trunc(20/12) || '年' ||mod(20,12) || '个月' from dual

二、深入用法
要结合months_between函数,结果为1年11个月
select
trunc((months_between(to_date('2012-09-12','yyyy-mm-dd'),to_date('2010-10-12','yyyy-mm-dd')))/12 ) || '年'||
mod(months_between(trunc(to_date('2012-09-12','yyyy-mm-dd'),'mm'),trunc(to_date('2010-10-12','yyyy-mm-dd'),'mm')),12) || '个月'
from dual

你可能感兴趣的:(oracle)