2016-08-23 72 views
0

我在HANA平臺上有JIVE db。 JIVEUSER表追蹤JIVE上所有用戶的最新信息。 「lastloggedin」列是BIGINT數據類型。如何將bigint數據轉換爲可讀日期格式

我想將「lastloggedin」列的值轉換爲可讀的日期格式。

我創建了一個查詢來將BIGINT轉換爲日期格式,它的工作原理。

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

1340961977 - 是BIGINT和輸出值:2012年6月29日9:26: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 Studio版本:2.0.19

回答

0

lastloggedin似乎是一個Unix時間戳包括毫秒。

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

嘗試通過1000分,我不知道是否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) 
相關問題