2016-07-19 7 views
0
내가 H2 Database.and 설명에 기존 테이블 이름 'ABC'를 갖는하고

, 'EVENT'열에서 DATEADD 함수는 시대 시간

FIELD    | TYPE       | NULL | KEY | DEFAULT 
ID     | DECIMAL(19)     | NO |  | NULL 
EVENT    | BIGINT       | YES |  | NULL 

내가 어떤 유닉스 타임 스탬프가 변환 (millisec의 신기원 시간을.) 데이터.

ID | EVENT 
1 | 1468318907575 
2 |00459 

DATEADD 함수를 사용하면 unix 타임 스탬프를 일반적인 날짜로 변환 할 수 있습니다. 하지만 필요한 입력은 초 (11 자리)입니다.

내 EVENT 열의 데이터를 취하여 아래 함수가 ABC 테이블 (13 자리) bigint 값의 값에 대해 수행하는 것과 같이 DATE 형식으로 변환하는 SQL 함수를 작성할 수있는 방법이 있습니까?

select DATEADD('SECOND', 1348560343, DATE '1970-01-01'); 

도와주세요.

미리 감사드립니다.

Reagrds

+0

PL/SQL 질문이 표시되지 않습니다. –

답변

1

select DATEADD ('SECOND', SUBSTRING (이벤트, 1,11), DATE '1970-01-01');

+0

이벤트 값을 1000으로 나누고 싶습니다. 실제로 할 수 있습니까? – Apurv

+0

DATEADD ('SECOND', (event_time)/1000, DATE '1970-01-01')를 선택하십시오. – Apurv

+0

예, 물론 결과는 동일 할 수 있습니다. DATEADD ('SECOND', Event/1000, DATE '1970-01-01')를 선택하십시오. –

0

함수 FROM_UNIXTIME() 다른 일시 기능이 사용될 수있는 일시 문자열로 에포크 시간으로 변환한다.