显示最近30天内和未来30天内新开始的SQL查询



在Oracle OTBI中创建一个报告,以显示上个月或下个月的任何新开始。

目前我有一个SQL查询,显示新的开始在过去一个月内的天,但不确定如何使它也包括那些开始在下一个月

SELECT "Person Names"."Full Name" saw_0,
"Worker"."Person Start Date" saw_1,
"Worker"."Termination Date" saw_2,
"Manager"."Business Unit" saw_3
FROM "Workforce Management - Person Real Time"
WHERE ("Manager"."Business Unit" = ' ')
AND ("Worker"."Person Start Date" >= (TIMESTAMPADD(SQL_TSI_MONTH, -1, CURRENT_DATE)))

你可以试试这个

SELECT    
"Person Names"."Full Name" saw_0,    
"Worker"."Person Start Date" saw_1,    
"Worker"."Termination Date" saw_2,    
"Manager"."Business Unit" saw_3    
FROM "Workforce Management - Person Real Time"    
where "Manager"."Business Unit" = ' '    
and "Worker"."Person Start Date" between sysdate -30 and sysdate +30 

CREATE TABLE employees (employee_id, first_name, last_name, hire_date) AS
SELECT 1,  'Alice', 'Abbot', DATE '2022-04-03'  FROM DUAL UNION ALL
SELECT 2, 'Beryl', 'Baron',DATE '2022-05-01' FROM DUAL UNION ALL
SELECT 3, 'Carol', 'Chase',DATE '2022-05-18' FROM DUAL UNION ALL
SELECT 4, 'Debra', 'Doris', DATE '2022-05-28' FROM DUAL UNION ALL
SELECT 5, 'Emily', 'Evans',DATE '2022-06-30' FROM DUAL UNION ALL
SELECT 6, 'Fiona', 'Frank',DATE '2022-06-11' FROM DUAL UNION ALL
SELECT 7, 'Gemma', 'Grace', DATE '2022-06-30' FROM DUAL;
SELECT * FROM EMPLOYEES WHERE 
hire_date BETWEEN TRUNC(SYSDATE)-30
AND
TRUNC(SYSDATE)+ 30;

EMPLOYEE_ID    FIRST_NAME    LAST_NAME    HIRE_DATE
2    Beryl    Baron    01-MAY-22
3    Carol    Chase    18-MAY-22
4    Debra    Doris    28-MAY-22
6    Fiona    Frank    11-JUN-22

最新更新