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

时间:2016-08-23 20:31:48

标签: sql hana

我在HANA平台上有一个JIVE数据库。 JIVEUSER表跟踪JIVE上所有用户的lastloggedin信息。 " lastloggedin"列是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" ;
  

错误:   [314]:数字溢出:搜索表错误:[6944] AttributeEngine:数值计算溢出; 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

1 个答案:

答案 0 :(得分: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)