一尘不染

从Oracle中的日期差计算年份

sql

我想计算两个日期之间的年数。

例如:- Select to_date('30-OCT-2013') - TO_date('30-SEP-2014') FROM DUAL;

这将导致335天。我想用几年来展示,这将是.97几年。


阅读 222

收藏
2021-03-08

共1个答案

一尘不染

只需执行此操作(除以 365.242199 ):

Select (to_date('30-SEPT-2014') - TO_date('30-OCT-2013'))/365.242199 FROM DUAL;

1年= 365.242199天

或者

使用MONTHS_BETWEEN尝试类似的事情:-

select floor(months_between(date '2014-10-10', date '2013-10-10') /12) from dual;

或者您也可以尝试以下方法:

SELECT EXTRACT(YEAR FROM date1) - EXTRACT(YEAR FROM date2) FROM DUAL;

附带说明:-

335 / 365.242199 = 0.917199603,而不是.97

2021-03-08