unix时间戳值通过MySQL DB的数据服务进入HANA。
但是,我可以使用以下语句查找日期,但想知道SAP HANA或Data Services Designer中是否有可以执行此任务的内置函数?还有什么方法可以从结果中获取时间,就像我们有TO_DATE的日期那样RIGHT()吗?
SELECT TO_VARCHAR (ADD_SECONDS( '1970-01-01 00:00:00', "1452261405"))
它将返回2016-01-08 13:56:45
答案 0 :(得分:2)
您可以使用HANA内置功能TO_DATE和TO_TIME:
SELECT TO_TIMESTAMP (ADD_SECONDS( '1970-01-01 00:00:00', '1452261405')) TIMESTAMP,
TO_DATE (ADD_SECONDS( '1970-01-01 00:00:00', '1452261405')) DATE,
TO_TIME (ADD_SECONDS( '1970-01-01 00:00:00', '1452261405')) TIME
from PUBLIC.DUMMY
给你:
Fri Jan 08 2016 13:56:45 GMT + 0000(UTC)08.01.2016 13:56:45
答案 1 :(得分:0)
这种转换实际上可以在用户定义的函数(UDF)中实现。 这样的事情可以让你的代码更容易阅读:
FUNCTION "DEVDUDE"."sandpit::epoch_to_seconddate" (IN epoc_date integer )
RETURNS SQL_SECONDDATE seconddate
LANGUAGE SQLSCRIPT
SQL SECURITY INVOKER AS
BEGIN
SQL_SECONDDATE = ADD_SECONDS( to_seconddate('1970-01-01 00:00:00'), :epoc_date);
END;
然后你可以简单地使用它,就像它是一个内置函数一样:
select "sandpit::epoch_to_seconddate"(-1452261405) from dummy;
SQL_SECONDDATE
1923-12-25 10:03:15.0