天天看点

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