我必须创建一个 oracle sql 来识别在下周内达到里程碑周年纪念的员工。我实际上不得不创建两个代码。一个用于识别今年达到里程碑周年纪念的每位员工,第二个用于识别下周达到里程碑周年纪念的任何员工。
因此,如果我这周运行代码,它将捕获下周有周年纪念日的任何人。对于此代码,我能够创建一个代码来识别特定日期的周年纪念日……但我无法创建一个查看下周所有 7 天并告诉我谁都有周年纪念日的代码。
当查询在今天 2013 年 3 月 27 日运行时,这是用于识别在 2013 年 3 月 31 日星期日有周年纪念日的任何人的查询。
SELECT a.full_name AS Full_Name,
b.adjusted_svc_date AS Service_Date,
d.name Job_tittle,
TRUNC ( (TO_NUMBER (TO_CHAR (SYSDATE + 4, 'mmddyyyy'))) -- TO_NUMBER (TO_CHAR (SYSDATE+4, 'MM/DD/YYYY'))
- TO_NUMBER (TO_CHAR (b.adjusted_svc_date, 'mmddyyyy')))
AS Years_OF_Service
FROM per_people_x a,
per_periods_of_service b,
per_assignments_x c,
per_jobs d
WHERE a.person_id = c.person_id
AND c.period_of_service_id = b.period_of_service_id
AND c.job_id = d.job_id
AND TRUNC (
(TO_NUMBER (TO_CHAR (SYSDATE + 4, 'mmddyyyy')))
- TO_NUMBER (TO_CHAR (b.adjusted_svc_date, 'mmddyyyy'))) IN
(5, 10, 15, 20, 25, 30)
AND a.person_type_id IN (6, 7)