oracle 单独列有提取的年份[重复]

yi0zb3m4  于 2022-12-18  发布在  Oracle
关注(0)|答案(1)|浏览(89)

此问题在此处已有答案

Oracle Age calculation from Date of birth and Today(15个答案)
上个月关门了。
我需要选择当前工作经验大于或等于15年的员工。而且我必须在单独的列中显示他们的工作经验年数。
我试过这个

SELECT CONCAT(CONCAT(FIRST_NAME, ' '), LAST_NAME) AS "Fn and Ln" 
 FROM HR.EMPLOYEES WHERE DATE_FORMAT(FROM_DAYS(DATEDIFF(NOW(), HIRE_DATE)), '%Y') 
 + 0 >= 15;

我卡在“ORA-00904:“日期格式”:无效标识符”,而且我也不知道如何创建一个单独的列与他们的工作经验(年)。
数据库:

66bbxpm5

66bbxpm51#

一个简单的选择是

where extract(year from sysdate) - extract(year from hire_date) >= 15

如果表不是太大,性能就不会因为hire_date列上可能的索引而受到影响。

相关问题