Oracle 시간 과 유 닉 스 타임 스탬프 의 전환

996 단어 Oacle
유 닉 스 타임 스탬프 는 '1970 - 01 - 01 00: 00: 00' GMT 에서 시 작 된 초 수로 정수 형 으로 나 타 났 다.
to_char 함 수 는 date 와 timestamp 를 지원 하지만 trunc 는 TIMESTAMP 데이터 형식 을 지원 하지 않 습 니 다.
Oracle 의 시간 은 Date 형 이 며, 아래 함 수 는 두 가지 시간 변환 Oracle 함 수 를 제공 합 니 다.
(1) 유 닉 스 타임 스탬프 에서 오 라 클 타임 으로 전환
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;

(3) 
Date 를 Timestamp 로 변환 하려 면 CAST 함 수 를 사용 해 야 합 니 다. 예 를 들 어:
select CAST(sysdate as Timestamp)  from dual;  

  • 좋은 웹페이지 즐겨찾기