首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TRINO分钟序列创建

TRINO分钟序列创建
EN

Stack Overflow用户
提问于 2022-11-03 19:40:42
回答 1查看 32关注 0票数 1

我试图在current_date -4个月(00:00:00.000000次)和current_date -1天(00:00:00.000000次)之间创建一个序列(见截图)。我使用下面的查询并给出正确的开始时间和日期,但是停止时间是00:59:00.000而不是00:00:00.000000 (天是正确的)。有什么帮助吗我错过了什么?

代码语言:javascript
复制
SELECT 
        current_date as current_date_,
        current_date - INTERVAL '4' MONTH AS date_one,
        current_date - INTERVAL '1' DAY AS date_two,
        DATE_ADD('MINUTE', m, h) AS dates_m
FROM UNNEST(SEQUENCE(current_date - INTERVAL '4' MONTH, DATE_TRUNC('DAY', LOCALTIMESTAMP) - INTERVAL '1' DAY, INTERVAL '1' HOUR)) AS t(h)
CROSS JOIN UNNEST(SEQUENCE(0, 59)) AS t(m)
    ORDER BY dates_m  

谢谢!!

EN

回答 1

Stack Overflow用户

发布于 2022-11-03 21:43:19

与其交叉连接两个序列,为什么不同时生成所有中间时间戳呢?

不幸的是,我无法测试这一点,因为我手头没有Presto数据库,但是基于文献资料 (着重号是添加的):

序列(开始、停止、步骤) 生成从start stop,的时间戳序列,由step递增。步骤的类型可以是INTERVAL DAY TO SECONDINTERVAL YEAR TO MONTH

这不是很管用吗?

代码语言:javascript
复制
select date_m
from unnest(
    sequence(
        current_date - interval '4' month,
        current_date,
        interval '1' minute
    )
) t(date_m)

不确定Presto是否知道,因为我们在几分钟内给出一个间隔,我们想要一个时间戳序列,这两个边界都是日期。如果没有,则可能需要将边界转换为timestamps:

代码语言:javascript
复制
select date_m
from unnest(
    sequence(
        cast(current_date as timestamp) - interval '4' month,
        cast(current_date as timestamp),
        interval '1' minute
    )
) t(date_m)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74308730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档