postgresql과 oracle에서 epoch time취득 0 1 902

by 김선우 [2018.10.16 19:55:19]


안녕하세요

오라클과 postgresql에서 epoch time을 연산해서 avg를 취득하고자 합니다.

 

오라클과 postgresql의 해당 칼럼은 timestamp로 정의되어있습니다.

postgresql에서 다음과 같은 sql로 avg를 취득하였는데 oracle에서는 어떻게 하면 똑같은 값을 얻을수 있나요?

 

1. postgresql table 값

select aCol from aTbl;

aCol

-------------------------

2018-10-03 10:44:25.802622

 

상기 값에 

select avg(aCol - to_timestamp('19700101','YYYY-MM-DD')) as avg_aCol from aTbl;

을 실행하면 얻어지는 값은 

avg_aCol

------------------------

1538563465802622

가 얻어집니다.

 

첫번째의 postgresql에서 epoch time을 얻는 sql이 타당한지와

위와 같은 avg를 구하는 sql을oracle에서 어떻게 실현할수 있을 지요?

 

같은 sql을 oracle실행하면 ORA-00932가 발생하는데요.

 

by 마농 [2018.10.16 20:52:59]
WITH aTbl AS
(
SELECT TO_TIMESTAMP('2018-10-03 10:44:25.802622', 'yyyy-mm-dd hh24:mi:ss.ff6') aCol FROM dual
)
SELECT aCol
     , ROUND((CAST(aCol AS DATE) - TO_DATE('197001','yyyymm'))*24*60*60)
       * 1000000 + TO_CHAR(aCol, 'ff6') AS epoch_time
  FROM aTbl
;

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입