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”数据库!问题是如何使它显示出工作的年份和月份!先感谢您!! :)
我们可以基于您当前的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;