如果没有得到负值,我该怎么做呢?
答案 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