Ren*_*ger 43
我用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;
Run Code Online (Sandbox Code Playgroud)
floor确保你得到圆满的岁月.如果你想要小数部分,你显然不想使用floor.
eao*_*son 16
如果您只想要多年的差异,那就是:
SELECT EXTRACT(YEAR FROM date1) - EXTRACT(YEAR FROM date2) FROM mytable
Run Code Online (Sandbox Code Playgroud)
或者你也想要分数年?
SELECT (date1 - date2) / 365.242199 FROM mytable
Run Code Online (Sandbox Code Playgroud)
据谷歌称,365.242199是1天.