select round(abs(months_between(sysdate,add_months(hire_date,12*(round((months_between(sysdate,hire_date)/12)))))))
from employees
遗憾的是,没有足够的信息,如果它做了什么,我在我的oracle 11.g数据库中运行此命令,并查看是否有数字,如6,5,4,7,3,2
5
2
1
1
6
5
2
2
3
像这样,请我知道功能,只是无法确定它的用法,代表这个数字是什么?请帮帮我
答案 0 :(得分:7)
从内到外工作: -
round( (months_between( sysdate, hire_date) /12)
获取雇员受雇的完整年数
add_months( hire_date,12 * (years calculated above )
获取雇员自雇用以来完成n年的日期
round(abs(months_between( sysdate, date employee completed n years )
获取下一个全年就业的月数。
不知道为什么!
答案 1 :(得分:2)
在我看来,根据雇用日期,人们会计算下一个全年的月数。它也可能是达到一整年的最后一点,具体取决于接近现在的时间点。
我认为以下陈述应该给你相同的结果:
select abs(month_between(sysdate,hire_date)) % 12
答案 2 :(得分:0)
这只是从雇员的雇用日期到当前日期的绝对和四舍五入的差异。它只是比较当前日期和雇用日期