HANA:用于将时间字符串转换为当前时间戳的输入参数的表达式

问题描述

在SAP HANA中,我可以在建模视图(例如,计算视图)内将过滤器用作sql或列存储表达式。

我正在尝试将08:00:00之类的时间字符串转换为时间戳,该时间戳应始终采用今天的日期。

到目前为止,我发现的唯一的hana路由是函数TO_TIMESTAMP([,])。

我的需求是否有任何内置函数,或者您将如何解决该问题?

感谢和BR。

编辑:这是我尝试将今天的日期和时间输入时间戳的方法

longdate(string(date(Now()))+ string('')+ string(time($$ P_StartShift $$))+ string('。123456'))

解决方法

HANA没有用于日期时间数据类型的整洁构造API。 因此,这有点变通。

这里的想法是您提供一天中的时间作为用户输入。

这样,我们可以计算自午夜以来的秒数,然后可以将其添加到 current_date

在HANA SQL中,它是这样的:

select
     to_time ('13:01','HH24:MI') user_input_time,current_date,seconds_between ('00:00',to_time ('13:01','HH24:MI')) secs_since_midnight,add_seconds (current_date,'HH24:MI')
                                  )
                 ) current_date_user_time
from
    dummy;

/*
USER_INPUT_TIME CURRENT_DATE    SECS_SINCE_MIDNIGHT CURRENT_DATE_USER_TIME 
1:01:00 PM      25/08/2020      46,860              25/08/2020 1:01:00.0 PM
*/