oracle 时间转换 1970,Oracle时间与Unix时间戳的转换
(1)从Unix时间戳记转换为Oracle时间
create or replace function unix_to_oracle(in_number NUMBER) return date is
beg
Oracle中的时间是Date型,以下函数提供了两种时间转换的Oracle函数 (1)从Unix时间戳记转换为Oracle时间 create or replace function unix_to_oracle(in_number NUMBER) return date is begin return(TO_DATE('19700101','yyyymmdd') + in_number/86400 +TO_NUMBER(SUBSTR(TZ_OFFSET(sessiontimezone),1,3))/24); end unix_to_oracle; (2)由Oracle时间Date型转换为Unix时间戳记 create or replace function oracle_to_unix(in_date IN DATE) return number is begin return( (in_date -TO_DATE('19700101','yyyymmdd'))*86400 - TO_NUMBER(SUBSTR(TZ_OFFSET(sessiontimezone),1,3))*3600); end oracle_to_unix; -- 时间转 10位时间戳 select (sysdate - TO_DATE('19700101', 'yyyymmdd')) * 86400 - TO_NUMBER(SUBSTR(TZ_OFFSET(sessiontimezone), 1, 3)) * 3600 from dual; -- 10位时间戳 转 时间 select TO_DATE('19700101', 'yyyymmdd') + 1516862035 / 86400 + TO_NUMBER(SUBSTR(TZ_OFFSET(sessiontimezone), 1, 3)) / 24 from dual; (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |