ACE Director Alum Daniel Morgan, founder of Morgan's Library, is scheduling
complimentary technical Workshops on Database Security for the first 30
Oracle Database customers located anywhere in North America, EMEA, LATAM, or
APAC that send an email to
asra_us@oracle.com. Request a Workshop for
your organization today.
Purpose
This package replicates or provides the functionality of group of related WMSYS schema functions and operators of value in managing date data.
owm_vt_pkg.wm_contains(
p1 IN wmsys.wm_period,
p2 IN wmsys.wm_period)
RETURN NUMBER;
DECLARE
retVal INTEGER;
p1b DATE := TO_DATE('01-JAN-2021');
p1e DATE := TO_DATE('05-JAN-2021');
p2b DATE := TO_DATE('01-JAN-2021');
p2e DATE := TO_DATE('03-JAN-2021');
BEGIN
SELECT wmsys.owm_vt_pkg.wm_contains(WM_PERIOD(p1b, p1e), WM_PERIOD(p2b, p2e))
INTO retVal
FROM dual;
owm_vt_pkg.wm_equals(
p1 IN wmsys.wm_period,
p2 IN wmsys.wm_period)
RETURN NUMBER;
DECLARE
retVal INTEGER;
p1b DATE := TO_DATE('01-JAN-2021');
p1e DATE := TO_DATE('03-JAN-2021');
p2b DATE := TO_DATE('01-JAN-2021');
p2e DATE := TO_DATE('03-JAN-2021');
BEGIN
SELECT wmsys.owm_vt_pkg.wm_equals(WM_PERIOD(p1b, p1e), WM_PERIOD(p2b, p2e))
INTO retVal
FROM dual;
DECLARE
retVal INTEGER;
p1b DATE := TO_DATE('01-FEB-2021');
p1e DATE := TO_DATE('03-FEB-2021');
p2b DATE := TO_DATE('01-JAN-2021');
p2e DATE := TO_DATE('31-JAN-2021');
BEGIN
SELECT wmsys.owm_vt_pkg.wm_greaterthan(WM_PERIOD(p1b, p1e), WM_PERIOD(p2b, p2e))
INTO retVal
FROM dual;
DECLARE
retVal WM_PERIOD;
p1b DATE := TO_DATE('01-JAN-2021');
p1e DATE := TO_DATE('10-JAN-2021');
p2b DATE := TO_DATE('08-JAN-2021');
p2e DATE := TO_DATE('12-JAN-2021');
BEGIN
SELECT wmsys.owm_vt_pkg.wm_intersection(WM_PERIOD(p1b, p1e), WM_PERIOD(p2b, p2e))
INTO retVal
FROM dual;
dbms_output.put_line(retVal.validfrom);
dbms_output.put_line(retVal.validtill);
END;
/ 08-JAN-21 12.00.00.000000 AM +00:00
10-JAN-21 12.00.00.000000 AM +00:00
DECLARE
retVal WM_PERIOD;
p1b DATE := TO_DATE('01-NOV-2021');
p1e DATE := TO_DATE('31-DEC-2021');
p2b DATE := TO_DATE('29-NOV-2021');
p2e DATE := TO_DATE('01-DEC-2021');
BEGIN
SELECT wmsys.owm_vt_pkg.wm_ldiff(WM_PERIOD(p1b, p1e), WM_PERIOD(p2b, p2e))
INTO retval
FROM dual;
dbms_output.put_line(retVal.validfrom);
dbms_output.put_line(retVal.validtill);
END;
/ 01-NOV-21 12.00.00.000000 AM +00:00
29-NOV-21 12.00.00.000000 AM +00:00
DECLARE
retVal INTEGER;
p1b DATE := TO_DATE('01-JAN-2021');
p1e DATE := TO_DATE('02-JAN-2021');
p2b DATE := TO_DATE('03-JAN-2021');
p2e DATE := TO_DATE('16-JAN-2021');
BEGIN
SELECT wmsys.owm_vt_pkg.wm_lessthan(WM_PERIOD(p1b, p1e), WM_PERIOD(p2b, p2e))
INTO retval
FROM dual;
DECLARE
retval INTEGER;
p1b DATE := TO_DATE('01-JAN-2021');
p1e DATE := TO_DATE('03-JAN-2021');
p2b DATE := TO_DATE('03-JAN-2021');
p2e DATE := TO_DATE('06-JAN-2021');
BEGIN
SELECT wmsys.owm_vt_pkg.wm_meets(WM_PERIOD(p1b, p1e), WM_PERIOD(p2b, p2e))
INTO retval
FROM dual;
DECLARE
retval INTEGER;
p1b DATE := TO_DATE('01-JAN-2021');
p1e DATE := TO_DATE('31-JAN-2021');
p2b DATE := TO_DATE('31-DEC-2013');
p2e DATE := TO_DATE('02-JAN-2021');
BEGIN
SELECT wmsys.owm_vt_pkg.wm_overlaps(WM_PERIOD(p1b, p1e), WM_PERIOD(p2b, p2e))
INTO retval
FROM dual;
DECLARE
retval WM_PERIOD;
p1b DATE := TO_DATE('01-JAN-2021');
p1e DATE := TO_DATE('31-DEC-2021');
p2b DATE := TO_DATE('12-JAN-2020');
p2e DATE := TO_DATE('16-JAN-2021');
BEGIN
SELECT wmsys.owm_vt_pkg.wm_rdiff(WM_PERIOD(p1b, p1e), WM_PERIOD(p2b, p2e))
INTO retval
FROM dual;
dbms_output.put_line(retval.validfrom);
dbms_output.put_line(retval.validtill);
END;
/ 16-JAN-21 12.00.00.000000 AM +00:00
31-DEC-21 12.00.00.000000 AM +00:00