Oracle NumToymenterval获取所有在开始工作后4个月内未进行审核的员工

Oracle NumToymenterval获取所有在开始工作后4个月内未进行审核的员工,oracle,oracle11g,Oracle,Oracle11g,我的任务是找到所有在开始工作后4个月内未接受过审查的员工,但我需要使用numtoyminterval 我想我几乎做到了,但我似乎无法解决如何让所有在开始工作后4个月内未进行审查的员工都得到审查 下面的代码返回所有记录 有人能帮忙吗 SELECT Employee.ID, Employee.Surname, DateJoined.StartDate, Review.NextReviewDate numtoyminterval( months_

我的任务是找到所有在开始工作后4个月内未接受过审查的员工,但我需要使用numtoyminterval

我想我几乎做到了,但我似乎无法解决如何让所有在开始工作后4个月内未进行审查的员工都得到审查

下面的代码返回所有记录

有人能帮忙吗

SELECT Employee.ID,
       Employee.Surname,
       DateJoined.StartDate,
       Review.NextReviewDate
       numtoyminterval( months_between(DateJoined.StartDate, Review.NextReviewDate), 'month') as "EmployeeNotReviewed"
FROM   CompanyData 
       INNER JOIN
       Employee ON CompanyData.EmployeeID = Employee.EmployeeID 
       INNER JOIN
       DateJoined ON CompanyData.JoinedID = DateJoined.StartDate 
       INNER JOIN
       Review ON CompanyData.ReviewID = Review.Id

选择Employee.ID,
雇员,姓,,
DateJoined.StartDate,
Review.NextReviewDate
来自公司数据
内连接
CompanyData.EmployeeID=Employee.EmployeeID上的员工
内连接
CompanyData.JoinedID=DateJoined.StartDate上的DateJoined
内连接
查看CompanyData.ReviewID=Review.Id
其中DateJoined.StartDate+NUMTOYMINTERVAL(4,“月”)
或

选择Employee.ID,
雇员,姓,,
DateJoined.StartDate,
Review.NextReviewDate
来自公司数据
内连接
CompanyData.EmployeeID=Employee.EmployeeID上的员工
内连接
CompanyData.JoinedID=DateJoined.StartDate上的DateJoined
内连接
查看CompanyData.ReviewID=Review.Id
其中DateJoined.StartDate+NUMTOYMINTERVAL(4,“月”)

为什么需要使用
numtoymenterval
?问题是,如果你加上时间间隔,比如说从2015年12月31日到2016年04月31日的四个月,这不是一个有效的日期,那么时间间隔的增加可能会导致一个例外。嗨,亚历克斯,我不确定这可能是他想让我发现的,我已经在这里6个月了,而且进展非常缓慢。为什么它需要使用
numtoyminterval
?问题是,如果你加上时间间隔,比如说2015-12-31之前的四个月,你得到的是2016-04-31,这不是一个有效的日期。嗨,亚历克斯,不确定这可能是他想让我发现的,我已经在这里6个月了,而且进展得很顺利。嗨,谢谢,我明天上班时会试试。希望它能起作用。嗨,谢谢,我明天上班的时候会试试。希望它能起作用。
SELECT Employee.ID,
       Employee.Surname,
       DateJoined.StartDate,
       Review.NextReviewDate
FROM   CompanyData 
       INNER JOIN
       Employee ON CompanyData.EmployeeID = Employee.EmployeeID 
       INNER JOIN
       DateJoined ON CompanyData.JoinedID = DateJoined.StartDate 
       INNER JOIN
       Review ON CompanyData.ReviewID = Review.Id
WHERE  MONTHS_BETWEEN( DateJoined.StartDate, Review.NextReviewDate ) >= 4
SELECT Employee.ID,
       Employee.Surname,
       DateJoined.StartDate,
       Review.NextReviewDate
FROM   CompanyData 
       INNER JOIN
       Employee ON CompanyData.EmployeeID = Employee.EmployeeID 
       INNER JOIN
       DateJoined ON CompanyData.JoinedID = DateJoined.StartDate 
       INNER JOIN
       Review ON CompanyData.ReviewID = Review.Id
WHERE  DateJoined.StartDate + NUMTOYMINTERVAL( 4, 'MONTH' )
         <= Review.NextReviewDate