2016-08-23 2 views
0

HANA 플랫폼에 JIVE DB가 있습니다. JIVEUSER 테이블은 JIVE의 모든 사용자에 대한 정보를 마지막으로 추적합니다. "lastloggedin"열은 BIGINT 데이터 형식입니다.bigint 데이터를 읽을 수있는 날짜 형식으로 변환하는 방법

"lastloggedin"열의 값을 읽을 수있는 날짜 형식으로 변환하고 싶습니다.

BIGINT를 날짜 형식으로 변환하는 쿼리를 만들었지 만 작동합니다. 2012년 6월 29일 9 : 26 : -

SELECT ADD_SECONDS (TO_TIMESTAMP ('1970-01-01 00:00:00'), 1340961977) "add seconds" 
FROM DUMMY; 

1340961977 BIGINT 출력의 값이된다 17.0 AM

을하지만 난 내 테이블과 열에서 같은 쿼리를 실행할 때 오류가 발생합니다. 쿼리 및 오류 메시지 아래

쿼리 찾아주세요 :

SELECT ADD_SECONDS (TO_TIMESTAMP ('1970-01-01 00:00:00'), "lastloggedin") "add seconds" 
FROM "JIVE"."JIVEUSER" ; 

Error: [314]: numeric overflow: search table error: [6944] AttributeEngine: overflow in numeric calculation;longdate [here]add_seconds(longdate '1970-01-01 00:00:00.0000000', decfloat decfloat(fixed8_18 "lastloggedin")),lastloggedin = 1463427879839[fixed8_18.0]; checkNull false

사람이 오류 좀 도와 주실 래요을 ??

나는 SAP HANA 스튜디오 버전을 사용하고 있습니다 : 2.0.19

답변

0

lastloggedin (밀리 초)을 포함하여 유닉스 타임 스탬프 것 같다. 1000 나눌

1463427879839 -> 2016-05-16 19:44:39.839 

시도, 난, 소수 값에 ADD_SECONDS 작품의 경우도 모른다.

-- this might work 
ADD_SECONDS (TO_TIMESTAMP ('1970-01-01 00:00:00'), "lastloggedin"/1000.000) 
-- or this 
ADD_SECONDS (TO_TIMESTAMP ('1970-01-01 00:00:00'), "lastloggedin"/1000) 
관련 문제