sql

오라클 utc time epoch 값 date 변환

초이짬 2018. 5. 23. 18:09
728x90

java 에서 long 형의 timestamp / long java.util.calendar.getTimeInMillis() 를 할경우 13자리의 값
이 값은 1970-01-01 부터 시작하는 값으로 해당 값이 디비에 박힐 경우 쿼리 상에서 변환은 안된다.

물론 java 8 의 개선된 date는 long 형의 timestamp 값을 어떻게 넣어주는 지는 모르지만
해당 내용을 잘 알고 있는 상황에서 오라클 쿼리에서 date 형 변환을 할려고 했더니 되지 않았다

삽질 한 끝에 복잡한 방식을 써서 쿼리를 넣어야 정상 값이 나오는걸 알았다....

SELECT TO_CHAR(
TO_TIMESTAMP('1970-01-01 00:00:00.0'
,'YYYY-MM-DD HH24:MI:SS.FF'
) + NUMTODSINTERVAL(1525247708464/1000, 'SECOND')
,'YYYY-MM-DD HH24:MI:SS.FF')
FROM dual;

728x90