如何在HANA中将时间戳舍入到小时

时间:2017-02-23 10:40:19

标签: sap hana

我在HANA中有一个时间戳列,我希望将这些时间戳舍入到小时,这意味着

time
_____
2016-09-03 10:27:09

我希望这就像

time
_____
2016-09-03 10:00:00

感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

请检查以下SQLScript

do begin

declare lv_ts TIMESTAMP := CURRENT_TIMESTAMP;

select 
    case when minute(:lv_ts) >=30 
    then
        ADD_SECONDS(
            :lv_ts, 
            (60 * 60 - (minute(:lv_ts) * 60 + to_int(second(:lv_ts))))
        )
    else 
        ADD_SECONDS(
            :lv_ts, 
            -1 * (minute(:lv_ts) * 60 + to_int(second(:lv_ts)))
        )
    end
from dummy;

end;

我希望它有所帮助,

答案 1 :(得分:0)

使用series_round()。这是圆形时间戳的最快方法,特别是如果你在分组中使用它。

select series_round('2016-09-03 10:27:09', 'interval 1 hour') from dummy

查看documentation以了解其他舍入选项。