首页 > 解决方案 > presto/athena 从当前时间戳获取下一分钟

问题描述

如何从current_timestamppresto/athena获得下一分钟

例如。

  1. 2021-07-27 12:29:52.951 UTC -> 2021-07-27 12:30:00.000 UTC
  2. 2021-07-27 12:29:25.951 UTC -> 2021-07-27 12:30:00.000 UTC

标签: amazon-web-servicesamazon-athenaprestotrino

解决方案


没有内置函数,但您可以通过将 1 分钟添加到时间戳然后使用date_trunc向下舍入到最接近的分钟来做到这一点:

WITH data(ts) AS (
    VALUES
        TIMESTAMP '2021-07-27 12:29:52.951 UTC',
        TIMESTAMP '2021-07-27 12:29:25.951 UTC'
)
SELECT ts, date_trunc('minute', ts + INTERVAL '1' MINUTE)
FROM data

=>

             ts              |            _col1
-----------------------------+-----------------------------
 2021-07-27 12:29:52.951 UTC | 2021-07-27 12:30:00.000 UTC
 2021-07-27 12:29:25.951 UTC | 2021-07-27 12:30:00.000 UTC
(2 rows)

推荐阅读