Files
oracle/timhall/miscellaneous/date_api.sql
2026-03-12 21:23:47 +01:00

48 lines
1.6 KiB
SQL

CREATE OR REPLACE PACKAGE date_api AS
-- --------------------------------------------------------------------------
-- Name : https://oracle-base.com/dba/miscellaneous/date_api.sql
-- Author : Tim Hall
-- Description : A package to hold date utilities.
-- Requirements :
-- Amendments :
-- When Who What
-- =========== ======== =================================================
-- 04-FEB-2015 Tim Hall Initial Creation
-- --------------------------------------------------------------------------
FUNCTION oracle_to_unix (p_date IN DATE) RETURN NUMBER;
FUNCTION unix_to_oracle (p_unix IN NUMBER) RETURN DATE;
END date_api;
/
SHOW ERRORS
CREATE OR REPLACE PACKAGE BODY date_api AS
-- --------------------------------------------------------------------------
-- Name : https://oracle-base.com/dba/miscellaneous/date_api.sql
-- Author : Tim Hall
-- Description : A package to hold date utilities.
-- Requirements :
-- Amendments :
-- When Who What
-- =========== ======== =================================================
-- 04-FEB-2015 Tim Hall Initial Creation
-- --------------------------------------------------------------------------
FUNCTION oracle_to_unix (p_date IN DATE) RETURN NUMBER AS
l_number NUMBER;
BEGIN
l_number := (p_date - TO_DATE('01/01/1970', 'DD/MM/YYYY'));
RETURN l_number * 86400000;
END oracle_to_unix;
FUNCTION unix_to_oracle (p_unix IN NUMBER) RETURN DATE AS
BEGIN
RETURN TO_DATE('01/01/1970', 'DD/MM/YYYY') + (p_unix * 86400000);
END unix_to_oracle;
END date_api;
/
SHOW ERRORS