如何通过SELECT显示SQL的工作年限?

问题描述 投票:-1回答:1
SELECT LAST_NAME,DEPARTMENT_ID, ROUND(MONTHS_BETWEEN (SYSDATE, hire_date)) MONTHS_WORKED
FROM   EMPLOYEES 
WHERE DEPARTMENT_ID = 90
ORDER BY MONTHS_WORKED;

此选择是针对Oracle中的“ HR”数据库!问题是如何使它显示出工作的年份和月份!先感谢您!! :)

sql database oracle
1个回答
0
投票

我们可以基于您当前的months_between尝试。我们可以将结果除以12以得到年数。模(即余数)表示月份数:

select 
    last_name,
    department_id, 
    floor(months_between(sysdate, hire_date)/12) years_worked,
    floor(mod(months_between(sysdate, hire_date), 12)) months_worked
from employees 
where department_id = 90
order by years_worked, months_worked;
© www.soinside.com 2019 - 2024. All rights reserved.