oracle查询入职年限大于20年的员工信息

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图

数据 表名emp HIREDATE是入职日期

img

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

将入职年限大于20年的员工信息都查询出来

这里先要确定一个问题,是自然年20年,还是简单的365*20?是否需要考虑闰年?不满365天但跨了年算不算1年等等情况。
假设都不考虑,那么最简单的当然是

select * from emp where sysdate-HIREDATE>=365*20;

个人意见

SELECT *
FROM EMP
WHERE CAST(SUBSTR(SYSDATE,1,4) AS INT)-CAST(SUBSTR(HIREDATE,1,4) AS INT)>=20;