如何计算从1990年1月1日到今天Oracle SQL日期的年份?

时间:2015-05-12 05:27:11

标签: sql oracle

如果没有得到负值,我该怎么做呢?

2 个答案:

答案 0 :(得分:0)

我的方法是:

select months_between(sysdate, to_date('01-01-1990','dd-mm-yyyy'))/12 from dual;

您可以使用具有所需精度的round函数来获得更好的数字。

答案 1 :(得分:0)

SYSDATE为您提供当前日期。

使用 EXTRACT

SQL> SELECT extract(YEAR FROM sysdate) - 1990 years FROM dual;

     YEARS
----------
        25

或者,

使用 MONTHS_BETWEEN FLOOR

SQL> SELECT floor(months_between(SYSDATE, to_date('01/01/1990','MM/DD/YYYY')) /12)
  2    AS "years"
  3  FROM dual;

     years
----------
        25