【问题标题】:Generate dates within a range in Snowflake在雪花的范围内生成日期
【发布时间】:2022-01-18 17:44:26
【问题描述】:

我在 postgres 中有一张桌子 其中一列是年份,计算如下:

date_part('year',current_date) + generate_series(-2,4)

所以如果我取今天的日期,输出将是:

year
2021
2025
2019
2024
2023
2022
2020

如何在雪花环境中实现以上功能。

提前致谢

【问题讨论】:

    标签: snowflake-cloud-data-platform


    【解决方案1】:

    下面的雪花社区文章将更深入地介绍如何使用 SEQ1()、SEQ2()、SEQ4()、SEQ8() 和生成器函数等函数。

    Generate gap free seq and dates

    【讨论】:

      【解决方案2】:

      使用GENERATORDATEADD

      SELECT DATEADD(year, (ROW_NUMBER() OVER(ORDER BY seq8())-3, current_date) AS y,
      FROM TABLE(GENERATOR(ROWCOUNT => 7));
      

      仅限年份:

      SELECT YEAR(CURRENT_DATE) + (ROW_NUMBER() OVER(ORDER BY seq8())-3 AS y,
      FROM TABLE(GENERATOR(ROWCOUNT => 7));
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-01-29
        • 2022-01-23
        • 2017-04-21
        • 2019-01-30
        • 1970-01-01
        • 1970-01-01
        • 2011-12-11
        • 2019-09-29
        相关资源
        最近更新 更多