如何将bigint数据转换成可读的日期格式

How to convert bigint data into readable date format

我在 HANA 平台上有一个 JIVE 数据库。 JIVEUSER table 跟踪 JIVE 上所有用户的最后登录信息。 "lastloggedin" 列是 BIGINT 数据类型。

我想将 "lastloggedin" 列的值转换为可读的日期格式。

我创建了一个将 BIGINT 转换为日期格式的查询并且它有效。

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

1340961977 - 是 BIGINT 中的值,输出为:Jun 29, 2012 9:26:17.0 AM

但是当我 运行 在我的 table 及其列上执行相同的查询时,我得到了一个错误。请在下面找到查询和错误消息

查询:

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

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)